]> git.ktnx.net Git - mobile-ledger.git/blobdiff - app/src/main/java/net/ktnx/mobileledger/dao/TemplateHeaderDAO.java
methods for deleting all DB tables
[mobile-ledger.git] / app / src / main / java / net / ktnx / mobileledger / dao / TemplateHeaderDAO.java
index f72104b31514c5a4fbbfac813662c3588cb285f2..24e751c8149400fd26d3f933a36db90f93f3f73f 100644 (file)
@@ -17,8 +17,6 @@
 
 package net.ktnx.mobileledger.dao;
 
-import android.os.AsyncTask;
-
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 import androidx.lifecycle.LiveData;
@@ -44,7 +42,7 @@ public abstract class TemplateHeaderDAO {
     public abstract long insertSync(TemplateHeader item);
 
     public void insertAsync(@NonNull TemplateHeader item, @Nullable Runnable callback) {
-        AsyncTask.execute(() -> {
+        BaseDAO.runAsync(() -> {
             insertSync(item);
             if (callback != null)
                 Misc.onMainThread(callback);
@@ -58,18 +56,24 @@ public abstract class TemplateHeaderDAO {
     public abstract void deleteSync(TemplateHeader item);
 
     public void deleteAsync(@NonNull TemplateHeader item, @NonNull Runnable callback) {
-        AsyncTask.execute(() -> {
+        BaseDAO.runAsync(() -> {
             deleteSync(item);
             Misc.onMainThread(callback);
         });
     }
 
+    @Query("DELETE FROM templates")
+    public abstract void deleteAllSync();
+
     @Query("SELECT * FROM templates ORDER BY is_fallback, UPPER(name)")
     public abstract LiveData<List<TemplateHeader>> getTemplates();
 
     @Query("SELECT * FROM templates WHERE id = :id")
     public abstract LiveData<TemplateHeader> getTemplate(Long id);
 
+    @Query("SELECT * FROM templates WHERE id = :id")
+    public abstract TemplateHeader getTemplateSync(Long id);
+
     public void getTemplateAsync(@NonNull Long id,
                                  @NonNull AsyncResultCallback<TemplateHeader> callback) {
         LiveData<TemplateHeader> resultReceiver = getTemplate(id);
@@ -93,6 +97,14 @@ public abstract class TemplateHeaderDAO {
     @Query("SELECT * FROM templates WHERE id = :id")
     public abstract TemplateWithAccounts getTemplateWithAccountsSync(@NonNull Long id);
 
+    @Transaction
+    @Query("SELECT * FROM templates WHERE uuid = :uuid")
+    public abstract TemplateWithAccounts getTemplateWithAccountsByUuidSync(String uuid);
+
+    @Transaction
+    @Query("SELECT * FROM templates")
+    public abstract List<TemplateWithAccounts> getAllTemplatesWithAccountsSync();
+
     @Transaction
     public void insertSync(TemplateWithAccounts templateWithAccounts) {
         long template_id = insertSync(templateWithAccounts.header);
@@ -119,7 +131,7 @@ public abstract class TemplateHeaderDAO {
         });
     }
     public void insertAsync(@NonNull TemplateWithAccounts item, @Nullable Runnable callback) {
-        AsyncTask.execute(() -> {
+        BaseDAO.runAsync(() -> {
             insertSync(item);
             if (callback != null)
                 Misc.onMainThread(callback);
@@ -127,7 +139,7 @@ public abstract class TemplateHeaderDAO {
     }
     public void duplicateTemplateWitAccounts(@NonNull Long id, @Nullable
             AsyncResultCallback<TemplateWithAccounts> callback) {
-        AsyncTask.execute(() -> {
+        BaseDAO.runAsync(() -> {
             TemplateWithAccounts src = getTemplateWithAccountsSync(id);
             TemplateWithAccounts dup = src.createDuplicate();
             dup.header.setName(dup.header.getName());