Handle deletion of dropped show

This commit is contained in:
michaldrabik
2025-05-02 13:58:10 +02:00
parent ad79bbe569
commit f4ed9e81a1
3 changed files with 11 additions and 5 deletions

View File

@ -101,6 +101,8 @@ interface AuthorizedTraktRemoteDataSource {
suspend fun deleteHiddenShow(request: SyncExportRequest)
suspend fun deleteDroppedShow(request: SyncExportRequest)
suspend fun deleteHiddenMovie(request: SyncExportRequest)
suspend fun deleteRating(show: Show)

View File

@ -199,13 +199,12 @@ internal class AuthorizedTraktApi(
syncService.deleteWatchlist(request)
}
override suspend fun deleteHiddenShow(request: SyncExportRequest) {
override suspend fun deleteHiddenShow(request: SyncExportRequest) =
usersService.deleteHidden("progress_watched", request)
}
override suspend fun deleteHiddenMovie(request: SyncExportRequest) {
usersService.deleteHidden("calendar", request)
}
override suspend fun deleteDroppedShow(request: SyncExportRequest) = usersService.deleteHidden("dropped", request)
override suspend fun deleteHiddenMovie(request: SyncExportRequest) = usersService.deleteHidden("calendar", request)
override suspend fun deleteRating(show: Show) {
val requestIds = RatingRequestIds(show.ids?.trakt ?: -1)

View File

@ -7,8 +7,11 @@ import com.michaldrabik.repository.UserTraktManager
import com.michaldrabik.ui_base.common.sheets.remove_trakt.RemoveTraktBottomSheet.Mode
import com.michaldrabik.ui_model.IdTrakt
import dagger.hilt.android.scopes.ViewModelScoped
import kotlinx.coroutines.delay
import javax.inject.Inject
private const val TRAKT_DELAY = 1500L
@ViewModelScoped
class RemoveTraktHiddenCase @Inject constructor(
private val remoteSource: AuthorizedTraktRemoteDataSource,
@ -26,6 +29,8 @@ class RemoveTraktHiddenCase @Inject constructor(
Mode.SHOW -> {
val request = SyncExportRequest(shows = items)
remoteSource.deleteHiddenShow(request)
delay(TRAKT_DELAY)
remoteSource.deleteDroppedShow(request)
}
Mode.MOVIE -> {
val request = SyncExportRequest(movies = items)