diff options
| author | JPVenson <6794763+JPVenson@users.noreply.github.com> | 2024-10-09 09:53:39 +0000 |
|---|---|---|
| committer | JPVenson <6794763+JPVenson@users.noreply.github.com> | 2024-10-09 09:53:39 +0000 |
| commit | be48cdd9e90ed147c5526ef3fed0624bcbad7741 (patch) | |
| tree | 54a05b60693c7e2fd66bd082e3606ac9d25ac800 /MediaBrowser.Controller/Persistence/IItemTypeLookup.cs | |
| parent | 15bf43e3adc69fc0ec5413e81a20b1f0d5dccd5c (diff) | |
Naming refactoring and WIP porting of new interface repositories
Diffstat (limited to 'MediaBrowser.Controller/Persistence/IItemTypeLookup.cs')
| -rw-r--r-- | MediaBrowser.Controller/Persistence/IItemTypeLookup.cs | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/MediaBrowser.Controller/Persistence/IItemTypeLookup.cs b/MediaBrowser.Controller/Persistence/IItemTypeLookup.cs new file mode 100644 index 000000000..1b2ca2acb --- /dev/null +++ b/MediaBrowser.Controller/Persistence/IItemTypeLookup.cs @@ -0,0 +1,57 @@ +using System; +using System.Collections.Generic; +using Jellyfin.Data.Enums; +using MediaBrowser.Model.Querying; + +namespace MediaBrowser.Controller.Persistence; + +/// <summary> +/// Provides static lookup data for <see cref="ItemFields"/> and <see cref="BaseItemKind"/> for the domain. +/// </summary> +public interface IItemTypeLookup +{ + /// <summary> + /// Gets all values of the ItemFields type. + /// </summary> + public IReadOnlyList<ItemFields> AllItemFields { get; } + + /// <summary> + /// Gets all BaseItemKinds that are considered Programs. + /// </summary> + public IReadOnlyList<BaseItemKind> ProgramTypes { get; } + + /// <summary> + /// Gets all BaseItemKinds that should be excluded from parent lookup. + /// </summary> + public IReadOnlyList<BaseItemKind> ProgramExcludeParentTypes { get; } + + /// <summary> + /// Gets all BaseItemKinds that are considered to be provided by services. + /// </summary> + public IReadOnlyList<BaseItemKind> ServiceTypes { get; } + + /// <summary> + /// Gets all BaseItemKinds that have a StartDate. + /// </summary> + public IReadOnlyList<BaseItemKind> StartDateTypes { get; } + + /// <summary> + /// Gets all BaseItemKinds that are considered Series. + /// </summary> + public IReadOnlyList<BaseItemKind> SeriesTypes { get; } + + /// <summary> + /// Gets all BaseItemKinds that are not to be evaluated for Artists. + /// </summary> + public IReadOnlyList<BaseItemKind> ArtistExcludeParentTypes { get; } + + /// <summary> + /// Gets all BaseItemKinds that are considered Artists. + /// </summary> + public IReadOnlyList<BaseItemKind> ArtistsTypes { get; } + + /// <summary> + /// Gets mapping for all BaseItemKinds and their expected serialisaition target. + /// </summary> + public IDictionary<BaseItemKind, string?> BaseItemKindNames { get; } +} |
