BackupItemDao.kt 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. package com.example.modifier.data
  2. import androidx.room.Dao
  3. import androidx.room.Delete
  4. import androidx.room.Insert
  5. import androidx.room.Query
  6. import androidx.room.Update
  7. @Dao
  8. interface BackupItemDao {
  9. @Insert
  10. suspend fun insert(backupItem: BackupItem): Long
  11. @Update
  12. suspend fun update(backupItem: BackupItem)
  13. @Delete
  14. suspend fun delete(backupItem: BackupItem)
  15. @Query("SELECT * from backupitem WHERE id = :id")
  16. suspend fun getItem(id: Int): BackupItem?
  17. @Query("SELECT * FROM backupitem ORDER BY id")
  18. suspend fun getAll(): List<BackupItem>
  19. @Query("SELECT * FROM backupitem ORDER BY id DESC")
  20. suspend fun getAllR(): List<BackupItem>
  21. @Query("SELECT * FROM backupitem WHERE number LIKE :number ORDER BY id")
  22. suspend fun getAll(number:String): List<BackupItem>
  23. @Query("SELECT * FROM backupitem WHERE number LIKE :number ORDER BY id DESC")
  24. suspend fun getAllR(number:String): List<BackupItem>
  25. @Query("SELECT * FROM backupitem WHERE country = :country AND number = :number limit 1")
  26. suspend fun findBackupForNumber(country: String, number: String): BackupItem?
  27. @Query("SELECT * FROM backupitem WHERE number != :number AND (fresh = 1 OR lastUse < :time) order by createdAt limit 1")
  28. suspend fun findBackupForRestore(number: String, time: Long): BackupItem?
  29. }