Files
ersatztv/ErsatzTV.Core/Interfaces/Repositories/IMediaServerOtherVideoRepository.cs
T
36e86587ef Allow Other Videos Library Type on Plex to be sync (#1766)
* Allow Other Videos Library Type on Plex to be sync

* Migrating database: Creating PlexOtherVideo table

* Using Plex Media path to create tags for OtherVideos

* missed these in the merge

* Getting PlexLibrary for Tag set on OtherVideo

* fix migrations

* set tag metadata on plex other videos

* update changelog

---------

Co-authored-by: Jason Dove <1695733+jasongdove@users.noreply.github.com>
2024-07-02 15:41:09 -05:00

18 lines
862 B
C#

using ErsatzTV.Core.Domain;
using ErsatzTV.Core.Metadata;
namespace ErsatzTV.Core.Interfaces.Repositories;
public interface IMediaServerOtherVideoRepository<in TLibrary, TOtherVideo, TEtag> where TLibrary : Library
where TOtherVideo : OtherVideo
where TEtag : MediaServerItemEtag
{
Task<List<TEtag>> GetExistingOtherVideos(TLibrary library);
Task<Option<int>> FlagNormal(TLibrary library, TOtherVideo otherVideo);
Task<Option<int>> FlagUnavailable(TLibrary library, TOtherVideo otherVideo);
Task<Option<int>> FlagRemoteOnly(TLibrary library, TOtherVideo otherVideo);
Task<List<int>> FlagFileNotFound(TLibrary library, List<string> movieItemIds);
Task<Either<BaseError, MediaItemScanResult<TOtherVideo>>> GetOrAdd(TLibrary library, TOtherVideo item, bool deepScan);
Task<Unit> SetEtag(TOtherVideo otherVideo, string etag);
}