using System; using System.Threading; using System.Threading.Tasks; namespace Jellyfin.Plugin.RecentlyAddedGuard.Core; /// /// An external source for the first "date added" of a medium, e.g. the import history of Radarr or Sonarr. /// /// /// Extension point for v2: implementations registered in the DI container are consulted by the /// ledger synchronization, and earlier dates lower the ledger via . /// v1 ships no implementation. /// public interface IExternalDateSource { /// /// Gets the name of the source for logs. /// string Name { get; } /// /// Looks up when the medium was first imported. /// /// The medium. /// The cancellation token. /// The first import date (UTC), or null if unknown. Task GetFirstAddedAsync(MediaIdentity identity, CancellationToken cancellationToken); }