* redirect to jellyfin stream as needed * get jellyfin playback info * sync chapters from jellyfin * update changelog * cleanup
18 lines
783 B
C#
18 lines
783 B
C#
using ErsatzTV.Core.Domain;
|
|
using ErsatzTV.Core.Metadata;
|
|
|
|
namespace ErsatzTV.Core.Interfaces.Repositories;
|
|
|
|
public interface IMediaServerMovieRepository<in TLibrary, TMovie, TEtag> where TLibrary : Library
|
|
where TMovie : Movie
|
|
where TEtag : MediaServerItemEtag
|
|
{
|
|
Task<List<TEtag>> GetExistingMovies(TLibrary library);
|
|
Task<bool> FlagNormal(TLibrary library, TMovie movie);
|
|
Task<Option<int>> FlagUnavailable(TLibrary library, TMovie movie);
|
|
Task<Option<int>> FlagRemoteOnly(TLibrary library, TMovie movie);
|
|
Task<List<int>> FlagFileNotFound(TLibrary library, List<string> movieItemIds);
|
|
Task<Either<BaseError, MediaItemScanResult<TMovie>>> GetOrAdd(TLibrary library, TMovie item, bool deepScan);
|
|
Task<Unit> SetEtag(TMovie movie, string etag);
|
|
}
|