using System; using System.Collections.Generic; using Jellyfin.Data.Enums; using MediaBrowser.Model.Querying; namespace MediaBrowser.Controller.Persistence; /// /// Provides static lookup data for and for the domain. /// public interface IItemTypeLookup { /// /// Gets all values of the ItemFields type. /// public IReadOnlyList AllItemFields { get; } /// /// Gets all BaseItemKinds that are considered Programs. /// public IReadOnlyList ProgramTypes { get; } /// /// Gets all BaseItemKinds that should be excluded from parent lookup. /// public IReadOnlyList ProgramExcludeParentTypes { get; } /// /// Gets all BaseItemKinds that are considered to be provided by services. /// public IReadOnlyList ServiceTypes { get; } /// /// Gets all BaseItemKinds that have a StartDate. /// public IReadOnlyList StartDateTypes { get; } /// /// Gets all BaseItemKinds that are considered Series. /// public IReadOnlyList SeriesTypes { get; } /// /// Gets all BaseItemKinds that are not to be evaluated for Artists. /// public IReadOnlyList ArtistExcludeParentTypes { get; } /// /// Gets all BaseItemKinds that are considered Artists. /// public IReadOnlyList ArtistsTypes { get; } /// /// Gets mapping for all BaseItemKinds and their expected serialisaition target. /// public IDictionary BaseItemKindNames { get; } }