Divinelink / scenepeek-android

ScenePeek is an Android Application that provides information about movies, television shows & persons using the TMDB API.
0 stars 0 forks source link

Introduce Jellyseerr Integration #52

Closed Divinelink closed 4 months ago

Divinelink commented 4 months ago

This pull requests introduces a new major feature, Jellyseerr integration!

Jellyseerr is a self-hosted tool that focuses on media library management with support for Jellyfin.

The main feature that is introduced is movie/tv-show request. For the feature to be enabled, the user needs to login using either their Jellyfin or Jellyseerr credentials, just like how they login to the web application.

This pull request also introduces an ErrorHandler that is responsible for handling exceptions or error codes. This makes it easier to handle errors, as we can simply define which error or exception we expect, and on our action block we define how we want to respond to each error. A simple example is the following:

ErrorHandler
  .create(error)
  .on(409) {
   // Do something that will get executed on 409
   }
  .otherwise {
   // Do something on every other case
   }
  .handle()

Screen recording

https://github.com/Divinelink/MovieRama/assets/25794786/f399d95b-fb8f-41ea-aa5d-d192ca2eb4d1

codecov[bot] commented 4 months ago

Codecov Report

Attention: Patch coverage is 60.94183% with 423 lines in your changes missing coverage. Please review.

Project coverage is 64.46%. Comparing base (9b7ab2e) to head (2917a11).

Files Patch % Lines
...tlin/com/divinelink/core/ui/popup/AnimatedPopup.kt 0.00% 62 Missing :warning:
...om/divinelink/core/network/client/AndroidClient.kt 0.00% 52 Missing :warning:
.../divinelink/feature/details/ui/DetailsViewModel.kt 12.50% 41 Missing and 1 partial :warning:
...ink/core/network/client/PersistentCookieStorage.kt 18.18% 25 Missing and 2 partials :warning:
...k/core/domain/jellyseerr/LoginJellyseerrUseCase.kt 0.00% 25 Missing :warning:
...e/domain/jellyseerr/GetJellyseerrDetailsUseCase.kt 0.00% 19 Missing :warning:
...link/core/domain/jellyseerr/RequestMediaUseCase.kt 0.00% 18 Missing :warning:
.../core/domain/jellyseerr/LogoutJellyseerrUseCase.kt 0.00% 14 Missing :warning:
...tlin/com/divinelink/core/ui/DetailsDropdownMenu.kt 69.56% 10 Missing and 4 partials :warning:
...com/divinelink/core/datastore/PreferenceStorage.kt 33.33% 12 Missing :warning:
... and 31 more
Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #52 +/- ## ========================================== + Coverage 64.27% 64.46% +0.18% ========================================== Files 201 240 +39 Lines 4955 5842 +887 Branches 714 840 +126 ========================================== + Hits 3185 3766 +581 - Misses 1479 1745 +266 - Partials 291 331 +40 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.