diff options
Diffstat (limited to 'MediaBrowser.Controller/Dto/DtoOptions.cs')
| -rw-r--r-- | MediaBrowser.Controller/Dto/DtoOptions.cs | 56 |
1 files changed, 27 insertions, 29 deletions
diff --git a/MediaBrowser.Controller/Dto/DtoOptions.cs b/MediaBrowser.Controller/Dto/DtoOptions.cs index aa99f6b58..ecc833154 100644 --- a/MediaBrowser.Controller/Dto/DtoOptions.cs +++ b/MediaBrowser.Controller/Dto/DtoOptions.cs @@ -1,4 +1,9 @@ +#nullable disable + +#pragma warning disable CS1591 + using System; +using System.Collections.Generic; using System.Linq; using MediaBrowser.Model.Entities; using MediaBrowser.Model.Querying; @@ -13,31 +18,15 @@ namespace MediaBrowser.Controller.Dto ItemFields.RefreshState }; - public ItemFields[] Fields { get; set; } - public ImageType[] ImageTypes { get; set; } - public int ImageTypeLimit { get; set; } - public bool EnableImages { get; set; } - public bool AddProgramRecordingInfo { get; set; } - public bool EnableUserData { get; set; } - public bool AddCurrentProgram { get; set; } - - public DtoOptions() - : this(true) - { - } - - private static readonly ImageType[] AllImageTypes = Enum.GetNames(typeof(ImageType)) - .Select(i => (ImageType)Enum.Parse(typeof(ImageType), i, true)) - .ToArray(); + private static readonly ImageType[] AllImageTypes = Enum.GetValues<ImageType>(); - private static readonly ItemFields[] AllItemFields = Enum.GetNames(typeof(ItemFields)) - .Select(i => (ItemFields)Enum.Parse(typeof(ItemFields), i, true)) + private static readonly ItemFields[] AllItemFields = Enum.GetValues<ItemFields>() .Except(DefaultExcludedFields) .ToArray(); - public bool ContainsField(ItemFields field) + public DtoOptions() + : this(true) { - return AllItemFields.Contains(field); } public DtoOptions(bool allFields) @@ -47,18 +36,27 @@ namespace MediaBrowser.Controller.Dto EnableUserData = true; AddCurrentProgram = true; - if (allFields) - { - Fields = AllItemFields; - } - else - { - Fields = new ItemFields[] { }; - } - + Fields = allFields ? AllItemFields : Array.Empty<ItemFields>(); ImageTypes = AllImageTypes; } + public IReadOnlyList<ItemFields> Fields { get; set; } + + public IReadOnlyList<ImageType> ImageTypes { get; set; } + + public int ImageTypeLimit { get; set; } + + public bool EnableImages { get; set; } + + public bool AddProgramRecordingInfo { get; set; } + + public bool EnableUserData { get; set; } + + public bool AddCurrentProgram { get; set; } + + public bool ContainsField(ItemFields field) + => Fields.Contains(field); + public int GetImageLimit(ImageType type) { if (EnableImages && ImageTypes.Contains(type)) |
