mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-10-31 22:37:56 +01:00 
			
		
		
		
	Use sqldelight for direct db calls in MangaPresenter (#7366)
				
					
				
			This commit is contained in:
		| @@ -3,6 +3,7 @@ package eu.kanade.data.track | ||||
| import eu.kanade.data.DatabaseHandler | ||||
| import eu.kanade.domain.track.model.Track | ||||
| import eu.kanade.domain.track.repository.TrackRepository | ||||
| import kotlinx.coroutines.flow.Flow | ||||
|  | ||||
| class TrackRepositoryImpl( | ||||
|     private val handler: DatabaseHandler, | ||||
| @@ -14,11 +15,45 @@ class TrackRepositoryImpl( | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     override suspend fun subscribeTracksByMangaId(mangaId: Long): Flow<List<Track>> { | ||||
|         return handler.subscribeToList { | ||||
|             manga_syncQueries.getTracksByMangaId(mangaId, trackMapper) | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     override suspend fun delete(mangaId: Long, syncId: Long) { | ||||
|         handler.await { | ||||
|             manga_syncQueries.delete( | ||||
|                 mangaId = mangaId, | ||||
|                 syncId = syncId, | ||||
|             ) | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     override suspend fun insert(track: Track) { | ||||
|         handler.await { | ||||
|             manga_syncQueries.insert( | ||||
|                 mangaId = track.mangaId, | ||||
|                 syncId = track.syncId, | ||||
|                 remoteId = track.remoteId, | ||||
|                 libraryId = track.libraryId, | ||||
|                 title = track.title, | ||||
|                 lastChapterRead = track.lastChapterRead, | ||||
|                 totalChapters = track.totalChapters, | ||||
|                 status = track.status, | ||||
|                 score = track.score, | ||||
|                 remoteUrl = track.remoteUrl, | ||||
|                 startDate = track.startDate, | ||||
|                 finishDate = track.finishDate, | ||||
|             ) | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     override suspend fun insertAll(tracks: List<Track>) { | ||||
|         handler.await(inTransaction = true) { | ||||
|             tracks.forEach { mangaTrack -> | ||||
|                 manga_syncQueries.insert( | ||||
|                     mangaId = mangaTrack.id, | ||||
|                     mangaId = mangaTrack.mangaId, | ||||
|                     syncId = mangaTrack.syncId, | ||||
|                     remoteId = mangaTrack.remoteId, | ||||
|                     libraryId = mangaTrack.libraryId, | ||||
|   | ||||
		Reference in New Issue
	
	Block a user