#nullable disable using System; using System.Collections.Generic; using Jellyfin.Database.Implementations.Entities; using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Library; namespace MediaBrowser.Controller.Sorting { /// /// Represents a BaseItem comparer that requires a User to perform its comparison. /// public interface IUserBaseItemComparer : IBaseItemComparer { /// /// Gets or sets the user. /// /// The user. User User { get; set; } /// /// Gets or sets the user manager. /// /// The user manager. IUserManager UserManager { get; set; } /// /// Gets or sets the user data repository. /// /// The user data repository. IUserDataManager UserDataManager { get; set; } /// /// Gets or sets user data for the items being sorted, keyed by item id, read once up front. /// A comparer that does not store it reads its user data one item at a time instead. /// /// The prefetched user data, or null when none was prefetched. IReadOnlyDictionary PrefetchedUserData { get => null; set { } } } }