feat(ports): extended and actualized repository interfaces

This commit is contained in:
ITQ
2026-05-20 03:35:25 +03:00
parent 4fa6b5e873
commit a48463b723
5 changed files with 46 additions and 0 deletions
@@ -8,6 +8,11 @@ interface FilmLibraryRepositoryPort {
fun findById(id: UUID): FilmLibrary?
fun findByUserIdAndFilmId(
userId: UUID,
filmId: UUID,
): FilmLibrary?
fun findAll(): List<FilmLibrary>
fun deleteById(id: UUID)
@@ -0,0 +1,15 @@
package com.project.movienight.application.ports.output
import com.project.movienight.domain.model.FilmRating
import java.util.UUID
interface FilmRatingRepositoryPort {
fun save(rating: FilmRating): FilmRating
fun findByUserId(userId: UUID): List<FilmRating>
fun findByUserIdAndFilmId(
userId: UUID,
filmId: UUID,
): FilmRating?
}
@@ -8,6 +8,10 @@ interface FilmRepositoryPort {
fun findById(id: UUID): Film?
fun findByJellyfinItemId(jellyfinItemId: String): Film?
fun findByJellyfinLibraryId(jellyfinLibraryId: String): Film?
fun findAll(): List<Film>
fun findByTitle(title: String): Film?
@@ -0,0 +1,12 @@
package com.project.movienight.application.ports.output
import com.project.movienight.domain.model.JellyfinSyncState
import java.util.UUID
interface JellyfinSyncStateRepositoryPort {
fun save(state: JellyfinSyncState): JellyfinSyncState
fun findByUserId(userId: UUID): JellyfinSyncState?
fun findAll(): List<JellyfinSyncState>
}
@@ -0,0 +1,10 @@
package com.project.movienight.application.ports.output
import com.project.movienight.domain.model.UserPreferences
import java.util.UUID
interface UserPreferencesRepositoryPort {
fun save(preferences: UserPreferences): UserPreferences
fun findByUserId(userId: UUID): UserPreferences?
}