feat: implement search for offline mode
Also fixes the crash when searching in offline mode
This commit is contained in:
parent
fa43b42b0d
commit
9a3ed38fe6
2 changed files with 15 additions and 1 deletions
|
@ -260,4 +260,13 @@ abstract class ServerDatabaseDao {
|
|||
|
||||
@Query("UPDATE userdata SET toBeSynced = :toBeSynced WHERE itemId = :itemId AND userId = :userId")
|
||||
abstract fun setUserDataToBeSynced(userId: UUID, itemId: UUID, toBeSynced: Boolean)
|
||||
|
||||
@Query("SELECT * FROM movies WHERE serverId = :serverId AND name LIKE '%' || :name || '%'")
|
||||
abstract fun searchMovies(serverId: String, name: String): List<FindroidMovieDto>
|
||||
|
||||
@Query("SELECT * FROM shows WHERE serverId = :serverId AND name LIKE '%' || :name || '%'")
|
||||
abstract fun searchShows(serverId: String, name: String): List<FindroidShowDto>
|
||||
|
||||
@Query("SELECT * FROM episodes WHERE serverId = :serverId AND name LIKE '%' || :name || '%'")
|
||||
abstract fun searchEpisodes(serverId: String, name: String): List<FindroidEpisodeDto>
|
||||
}
|
||||
|
|
|
@ -112,7 +112,12 @@ class JellyfinRepositoryOfflineImpl(
|
|||
}
|
||||
|
||||
override suspend fun getSearchItems(searchQuery: String): List<FindroidItem> {
|
||||
TODO("Not yet implemented")
|
||||
return withContext(Dispatchers.IO) {
|
||||
val movies = database.searchMovies(appPreferences.currentServer!!, searchQuery).map { it.toFindroidMovie(database, jellyfinApi.userId!!) }
|
||||
val shows = database.searchShows(appPreferences.currentServer!!, searchQuery).map { it.toFindroidShow(database, jellyfinApi.userId!!) }
|
||||
val episodes = database.searchEpisodes(appPreferences.currentServer!!, searchQuery).map { it.toFindroidEpisode(database, jellyfinApi.userId!!) }
|
||||
movies + shows + episodes
|
||||
}
|
||||
}
|
||||
|
||||
override suspend fun getResumeItems(): List<FindroidItem> {
|
||||
|
|
Loading…
Reference in a new issue