using System;
using System.Collections.Generic;
namespace Jellyfin.Plugin.RecentlyAddedGuard.Core;
///
/// Kind of logical medium tracked by the ledger.
///
public enum MediaKind
{
/// A movie.
Movie,
/// A TV episode (or a multi-episode file).
Episode
}
///
/// Jellyfin-independent snapshot of a library item, as consumed by the .
///
/// The Jellyfin item id.
/// The kind of medium.
/// The item's current "date added" (UTC).
/// All identity keys of the logical medium; empty if the item cannot be identified yet.
/// Human readable name for logs and the configuration page.
public sealed record MediaIdentity(
Guid ItemId,
MediaKind Kind,
DateTime DateCreated,
IReadOnlyList Keys,
string DisplayName);