@@ -7,19 +7,35 @@ import androidx.room.Insert
77import androidx.room.OnConflictStrategy
88import androidx.room.Query
99import androidx.room.Update
10- import com.par9uet.jm.data.models.DownloadComic
10+ import com.par9uet.jm.database.model.DownloadComic
11+ import com.par9uet.jm.database.model.UpdateComicCover
12+ import com.par9uet.jm.database.model.UpdateComicProgress
13+ import com.par9uet.jm.database.model.UpdateComicStatus
14+ import com.par9uet.jm.database.model.UpdateComicZipPath
1115import kotlinx.coroutines.flow.Flow
1216
1317@Dao
1418interface DownloadComicDao {
15- @Query(" SELECT * FROM download_comics" )
19+ @Query(" SELECT * FROM download_comics WHERE status = 'pending' OR status = 'downloading' ORDER BY createTime DESC " )
1620 fun getDownloadingList (): PagingSource <Int , DownloadComic >
1721
18- @Query(" SELECT * FROM download_comics WHERE status = 'complete'" )
22+ @Query(" SELECT * FROM download_comics WHERE status = 'complete' ORDER BY createTime DESC " )
1923 fun getCompleteList (): PagingSource <Int , DownloadComic >
2024
21- @Query(" SELECT EXISTS(SELECT 1 FROM download_comics WHERE id = :id)" )
22- fun isExist (id : String ): Flow <Boolean >
25+ @Query(" SELECT EXISTS(SELECT 1 FROM download_comics WHERE id = :comicId)" )
26+ fun isExist (comicId : Int ): Flow <Boolean >
27+
28+ @Update(entity = DownloadComic ::class )
29+ suspend fun updateCover (updateComicCover : UpdateComicCover )
30+
31+ @Update(entity = DownloadComic ::class )
32+ suspend fun updateStatus (updateComicStatus : UpdateComicStatus )
33+
34+ @Update(entity = DownloadComic ::class )
35+ suspend fun updateProgress (updateComicProgress : UpdateComicProgress )
36+
37+ @Update(entity = DownloadComic ::class )
38+ suspend fun updateZipPath (updateComicZipPath : UpdateComicZipPath )
2339
2440 @Insert(onConflict = OnConflictStrategy .REPLACE )
2541 suspend fun insert (task : DownloadComic )
0 commit comments