Files
ersatztv/ErsatzTV.Core/Interfaces/Repositories/IMediaServerOtherVideoRepository.cs
T
Jason DoveandGitHub 1c07df5bc3 use cancellation tokens in many places (#2350)
* use cancellation tokens everywhere

* more cancellation tokens
2025-08-27 03:20:35 +00:00

24 lines
934 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,
CancellationToken cancellationToken);
Task<Unit> SetEtag(TOtherVideo otherVideo, string etag);
}