From 833544eb24cb630dc1ce221e4aa3dedb3f6341e3 Mon Sep 17 00:00:00 2001 From: Damyan Ivanov <dam+mobileledger@ktnx.net> Date: Sun, 12 Sep 2021 14:30:09 +0300 Subject: [PATCH] methods for deleting all DB tables --- .../java/net/ktnx/mobileledger/dao/AccountDAO.java | 3 +++ .../net/ktnx/mobileledger/dao/AccountValueDAO.java | 3 +++ .../java/net/ktnx/mobileledger/dao/CurrencyDAO.java | 3 +++ .../java/net/ktnx/mobileledger/dao/OptionDAO.java | 3 +++ .../java/net/ktnx/mobileledger/dao/ProfileDAO.java | 3 +++ .../ktnx/mobileledger/dao/TemplateAccountDAO.java | 3 +++ .../ktnx/mobileledger/dao/TemplateHeaderDAO.java | 3 +++ .../mobileledger/dao/TransactionAccountDAO.java | 3 +++ .../net/ktnx/mobileledger/dao/TransactionDAO.java | 3 +++ app/src/main/java/net/ktnx/mobileledger/db/DB.java | 13 +++++++++++++ 10 files changed, 40 insertions(+) diff --git a/app/src/main/java/net/ktnx/mobileledger/dao/AccountDAO.java b/app/src/main/java/net/ktnx/mobileledger/dao/AccountDAO.java index 677fa81e..0c581787 100644 --- a/app/src/main/java/net/ktnx/mobileledger/dao/AccountDAO.java +++ b/app/src/main/java/net/ktnx/mobileledger/dao/AccountDAO.java @@ -75,6 +75,9 @@ public abstract class AccountDAO extends BaseDAO<Account> { @Delete public abstract void deleteSync(List<Account> items); + @Query("DELETE FROM accounts") + public abstract void deleteAllSync(); + @Query("SELECT * FROM accounts WHERE profile_id=:profileId ORDER BY name") public abstract LiveData<List<Account>> getAll(long profileId); diff --git a/app/src/main/java/net/ktnx/mobileledger/dao/AccountValueDAO.java b/app/src/main/java/net/ktnx/mobileledger/dao/AccountValueDAO.java index 54a42c12..8a7e5fb7 100644 --- a/app/src/main/java/net/ktnx/mobileledger/dao/AccountValueDAO.java +++ b/app/src/main/java/net/ktnx/mobileledger/dao/AccountValueDAO.java @@ -41,6 +41,9 @@ public abstract class AccountValueDAO extends BaseDAO<AccountValue> { @Delete public abstract void deleteSync(AccountValue item); + @Query("DELETE FROM account_values") + public abstract void deleteAllSync(); + @Query("SELECT * FROM account_values WHERE account_id=:accountId") public abstract LiveData<List<AccountValue>> getAll(long accountId); diff --git a/app/src/main/java/net/ktnx/mobileledger/dao/CurrencyDAO.java b/app/src/main/java/net/ktnx/mobileledger/dao/CurrencyDAO.java index 46e86358..1505a8fe 100644 --- a/app/src/main/java/net/ktnx/mobileledger/dao/CurrencyDAO.java +++ b/app/src/main/java/net/ktnx/mobileledger/dao/CurrencyDAO.java @@ -40,6 +40,9 @@ public abstract class CurrencyDAO extends BaseDAO<Currency> { @Delete public abstract void deleteSync(Currency item); + @Query("DELETE FROM currencies") + public abstract void deleteAllSync(); + @Query("SELECT * FROM currencies") public abstract LiveData<List<Currency>> getAll(); diff --git a/app/src/main/java/net/ktnx/mobileledger/dao/OptionDAO.java b/app/src/main/java/net/ktnx/mobileledger/dao/OptionDAO.java index 5540b233..41d6464b 100644 --- a/app/src/main/java/net/ktnx/mobileledger/dao/OptionDAO.java +++ b/app/src/main/java/net/ktnx/mobileledger/dao/OptionDAO.java @@ -43,6 +43,9 @@ public abstract class OptionDAO extends BaseDAO<Option> { @Delete public abstract void deleteSync(List<Option> items); + @Query("DELETE from options") + public abstract void deleteAllSync(); + @Query("SELECT * FROM options WHERE profile_id = :profileId AND name = :name") public abstract LiveData<Option> load(long profileId, String name); diff --git a/app/src/main/java/net/ktnx/mobileledger/dao/ProfileDAO.java b/app/src/main/java/net/ktnx/mobileledger/dao/ProfileDAO.java index 3c8fb4c3..c7a2e5d7 100644 --- a/app/src/main/java/net/ktnx/mobileledger/dao/ProfileDAO.java +++ b/app/src/main/java/net/ktnx/mobileledger/dao/ProfileDAO.java @@ -55,6 +55,9 @@ public abstract class ProfileDAO extends BaseDAO<Profile> { @Delete public abstract void deleteSync(Profile item); + @Query("DELETE FROM profiles") + public abstract void deleteAllSync(); + @Query("select * from profiles where id = :profileId") public abstract Profile getByIdSync(long profileId); diff --git a/app/src/main/java/net/ktnx/mobileledger/dao/TemplateAccountDAO.java b/app/src/main/java/net/ktnx/mobileledger/dao/TemplateAccountDAO.java index 44b1b201..c2be8c7f 100644 --- a/app/src/main/java/net/ktnx/mobileledger/dao/TemplateAccountDAO.java +++ b/app/src/main/java/net/ktnx/mobileledger/dao/TemplateAccountDAO.java @@ -40,6 +40,9 @@ public interface TemplateAccountDAO { @Delete void deleteSync(TemplateAccount item); + @Query("DELETE FROM template_accounts") + void deleteAllSync(); + @Query("SELECT * FROM template_accounts WHERE template_id=:template_id") LiveData<List<TemplateAccount>> getTemplateAccounts(Long template_id); diff --git a/app/src/main/java/net/ktnx/mobileledger/dao/TemplateHeaderDAO.java b/app/src/main/java/net/ktnx/mobileledger/dao/TemplateHeaderDAO.java index ed2473b2..24e751c8 100644 --- a/app/src/main/java/net/ktnx/mobileledger/dao/TemplateHeaderDAO.java +++ b/app/src/main/java/net/ktnx/mobileledger/dao/TemplateHeaderDAO.java @@ -62,6 +62,9 @@ public abstract class TemplateHeaderDAO { }); } + @Query("DELETE FROM templates") + public abstract void deleteAllSync(); + @Query("SELECT * FROM templates ORDER BY is_fallback, UPPER(name)") public abstract LiveData<List<TemplateHeader>> getTemplates(); diff --git a/app/src/main/java/net/ktnx/mobileledger/dao/TransactionAccountDAO.java b/app/src/main/java/net/ktnx/mobileledger/dao/TransactionAccountDAO.java index c63ed223..1b6f27d9 100644 --- a/app/src/main/java/net/ktnx/mobileledger/dao/TransactionAccountDAO.java +++ b/app/src/main/java/net/ktnx/mobileledger/dao/TransactionAccountDAO.java @@ -43,6 +43,9 @@ public abstract class TransactionAccountDAO extends BaseDAO<TransactionAccount> @Delete public abstract void deleteSync(List<TransactionAccount> items); + @Query("DELETE FROM transaction_accounts") + public abstract void deleteAllSync(); + @Query("SELECT * FROM transaction_accounts WHERE id = :id") public abstract LiveData<TransactionAccount> getById(long id); diff --git a/app/src/main/java/net/ktnx/mobileledger/dao/TransactionDAO.java b/app/src/main/java/net/ktnx/mobileledger/dao/TransactionDAO.java index fca54eda..001976d3 100644 --- a/app/src/main/java/net/ktnx/mobileledger/dao/TransactionDAO.java +++ b/app/src/main/java/net/ktnx/mobileledger/dao/TransactionDAO.java @@ -66,6 +66,9 @@ public abstract class TransactionDAO extends BaseDAO<Transaction> { @Delete public abstract void deleteSync(List<Transaction> items); + @Query("DELETE FROM transactions") + public abstract void deleteAllSync(); + @Query("SELECT * FROM transactions WHERE id = :id") public abstract LiveData<Transaction> getById(long id); diff --git a/app/src/main/java/net/ktnx/mobileledger/db/DB.java b/app/src/main/java/net/ktnx/mobileledger/db/DB.java index 97c16dbb..48262888 100644 --- a/app/src/main/java/net/ktnx/mobileledger/db/DB.java +++ b/app/src/main/java/net/ktnx/mobileledger/db/DB.java @@ -244,4 +244,17 @@ abstract public class DB extends RoomDatabase { public abstract OptionDAO getOptionDAO(); public abstract ProfileDAO getProfileDAO(); + + @androidx.room.Transaction + public void deleteAllSync() { + getTransactionAccountDAO().deleteAllSync(); + getTransactionDAO().deleteAllSync(); + getAccountValueDAO().deleteAllSync(); + getAccountDAO().deleteAllSync(); + getTemplateAccountDAO().deleteAllSync(); + getTemplateDAO().deleteAllSync(); + getCurrencyDAO().deleteAllSync(); + getOptionDAO().deleteAllSync(); + getProfileDAO().deleteAllSync(); + } } -- 2.39.5