]> git.ktnx.net Git - mobile-ledger.git/blobdiff - app/src/main/java/net/ktnx/mobileledger/dao/ProfileDAO.java
asynchronous profile initialisation
[mobile-ledger.git] / app / src / main / java / net / ktnx / mobileledger / dao / ProfileDAO.java
index ac51ecc2bf53ec019902f733b9f12584706038e3..52071745c4fc1eb35d620e0c7e8e023bb8f938e0 100644 (file)
 
 package net.ktnx.mobileledger.dao;
 
+import androidx.lifecycle.LiveData;
 import androidx.room.Dao;
+import androidx.room.Delete;
+import androidx.room.Insert;
+import androidx.room.Query;
+import androidx.room.Update;
 
 import net.ktnx.mobileledger.db.Profile;
 
 @Dao
-abstract class ProfileDAO extends BaseDAO<Profile> {
-    @Override
+public abstract class ProfileDAO extends BaseDAO<Profile> {
+    @Insert
     abstract long insertSync(Profile item);
 
-    @Override
+    @Update
     abstract void updateSync(Profile item);
 
-    @Override
-    abstract void deleteSync(Profile item);
+    @Delete
+    public abstract void deleteSync(Profile item);
+
+    @Query("select * from profiles where id = :profileId")
+    public abstract Profile getByIdSync(long profileId);
+
+    @Query("SELECT * FROM profiles WHERE id=:profileId")
+    public abstract LiveData<Profile> getById(long profileId);
+
+    @Query("SELECT * FROM profiles LIMIT 1")
+    public abstract Profile getAnySync();
 }