diff options
Diffstat (limited to 'MediaBrowser.Model')
| -rw-r--r-- | MediaBrowser.Model/Dto/MetadataEditorInfo.cs | 70 | ||||
| -rw-r--r-- | MediaBrowser.Model/Entities/ParentalRating.cs | 55 | ||||
| -rw-r--r-- | MediaBrowser.Model/Entities/ParentalRatingEntry.cs | 22 | ||||
| -rw-r--r-- | MediaBrowser.Model/Entities/ParentalRatingScore.cs | 32 | ||||
| -rw-r--r-- | MediaBrowser.Model/Entities/ParentalRatingSystem.cs | 28 | ||||
| -rw-r--r-- | MediaBrowser.Model/Globalization/ILocalizationManager.cs | 101 | ||||
| -rw-r--r-- | MediaBrowser.Model/Querying/ItemFields.cs | 1 | ||||
| -rw-r--r-- | MediaBrowser.Model/Users/UserPolicy.cs | 2 |
8 files changed, 211 insertions, 100 deletions
diff --git a/MediaBrowser.Model/Dto/MetadataEditorInfo.cs b/MediaBrowser.Model/Dto/MetadataEditorInfo.cs index a3035bf61..2f3a5d117 100644 --- a/MediaBrowser.Model/Dto/MetadataEditorInfo.cs +++ b/MediaBrowser.Model/Dto/MetadataEditorInfo.cs @@ -1,35 +1,55 @@ -#pragma warning disable CS1591 - -using System; using System.Collections.Generic; using Jellyfin.Data.Enums; using MediaBrowser.Model.Entities; using MediaBrowser.Model.Globalization; using MediaBrowser.Model.Providers; -namespace MediaBrowser.Model.Dto +namespace MediaBrowser.Model.Dto; + +/// <summary> +/// A class representing metadata editor information. +/// </summary> +public class MetadataEditorInfo { - public class MetadataEditorInfo + /// <summary> + /// Initializes a new instance of the <see cref="MetadataEditorInfo"/> class. + /// </summary> + public MetadataEditorInfo() { - public MetadataEditorInfo() - { - ParentalRatingOptions = Array.Empty<ParentalRating>(); - Countries = Array.Empty<CountryInfo>(); - Cultures = Array.Empty<CultureDto>(); - ExternalIdInfos = Array.Empty<ExternalIdInfo>(); - ContentTypeOptions = Array.Empty<NameValuePair>(); - } - - public IReadOnlyList<ParentalRating> ParentalRatingOptions { get; set; } - - public IReadOnlyList<CountryInfo> Countries { get; set; } - - public IReadOnlyList<CultureDto> Cultures { get; set; } - - public IReadOnlyList<ExternalIdInfo> ExternalIdInfos { get; set; } - - public CollectionType? ContentType { get; set; } - - public IReadOnlyList<NameValuePair> ContentTypeOptions { get; set; } + ParentalRatingOptions = []; + Countries = []; + Cultures = []; + ExternalIdInfos = []; + ContentTypeOptions = []; } + + /// <summary> + /// Gets or sets the parental rating options. + /// </summary> + public IReadOnlyList<ParentalRating> ParentalRatingOptions { get; set; } + + /// <summary> + /// Gets or sets the countries. + /// </summary> + public IReadOnlyList<CountryInfo> Countries { get; set; } + + /// <summary> + /// Gets or sets the cultures. + /// </summary> + public IReadOnlyList<CultureDto> Cultures { get; set; } + + /// <summary> + /// Gets or sets the external id infos. + /// </summary> + public IReadOnlyList<ExternalIdInfo> ExternalIdInfos { get; set; } + + /// <summary> + /// Gets or sets the content type. + /// </summary> + public CollectionType? ContentType { get; set; } + + /// <summary> + /// Gets or sets the content type options. + /// </summary> + public IReadOnlyList<NameValuePair> ContentTypeOptions { get; set; } } diff --git a/MediaBrowser.Model/Entities/ParentalRating.cs b/MediaBrowser.Model/Entities/ParentalRating.cs index c92640818..4f1198902 100644 --- a/MediaBrowser.Model/Entities/ParentalRating.cs +++ b/MediaBrowser.Model/Entities/ParentalRating.cs @@ -1,33 +1,40 @@ -#nullable disable -#pragma warning disable CS1591 +namespace MediaBrowser.Model.Entities; -namespace MediaBrowser.Model.Entities +/// <summary> +/// Class ParentalRating. +/// </summary> +public class ParentalRating { /// <summary> - /// Class ParentalRating. + /// Initializes a new instance of the <see cref="ParentalRating"/> class. /// </summary> - public class ParentalRating + /// <param name="name">The name.</param> + /// <param name="score">The score.</param> + public ParentalRating(string name, ParentalRatingScore? score) { - public ParentalRating() - { - } + Name = name; + Value = score?.Score; + RatingScore = score; + } - public ParentalRating(string name, int? value) - { - Name = name; - Value = value; - } + /// <summary> + /// Gets or sets the name. + /// </summary> + /// <value>The name.</value> + public string Name { get; set; } - /// <summary> - /// Gets or sets the name. - /// </summary> - /// <value>The name.</value> - public string Name { get; set; } + /// <summary> + /// Gets or sets the value. + /// </summary> + /// <value>The value.</value> + /// <remarks> + /// Deprecated. + /// </remarks> + public int? Value { get; set; } - /// <summary> - /// Gets or sets the value. - /// </summary> - /// <value>The value.</value> - public int? Value { get; set; } - } + /// <summary> + /// Gets or sets the rating score. + /// </summary> + /// <value>The rating score.</value> + public ParentalRatingScore? RatingScore { get; set; } } diff --git a/MediaBrowser.Model/Entities/ParentalRatingEntry.cs b/MediaBrowser.Model/Entities/ParentalRatingEntry.cs new file mode 100644 index 000000000..69be74ac0 --- /dev/null +++ b/MediaBrowser.Model/Entities/ParentalRatingEntry.cs @@ -0,0 +1,22 @@ +using System.Collections.Generic; +using System.Text.Json.Serialization; + +namespace MediaBrowser.Model.Entities; + +/// <summary> +/// A class representing an parental rating entry. +/// </summary> +public class ParentalRatingEntry +{ + /// <summary> + /// Gets or sets the rating strings. + /// </summary> + [JsonPropertyName("ratingStrings")] + public required IReadOnlyList<string> RatingStrings { get; set; } + + /// <summary> + /// Gets or sets the score. + /// </summary> + [JsonPropertyName("ratingScore")] + public required ParentalRatingScore RatingScore { get; set; } +} diff --git a/MediaBrowser.Model/Entities/ParentalRatingScore.cs b/MediaBrowser.Model/Entities/ParentalRatingScore.cs new file mode 100644 index 000000000..b9bb99685 --- /dev/null +++ b/MediaBrowser.Model/Entities/ParentalRatingScore.cs @@ -0,0 +1,32 @@ +using System.Text.Json.Serialization; + +namespace MediaBrowser.Model.Entities; + +/// <summary> +/// A class representing an parental rating score. +/// </summary> +public class ParentalRatingScore +{ + /// <summary> + /// Initializes a new instance of the <see cref="ParentalRatingScore"/> class. + /// </summary> + /// <param name="score">The score.</param> + /// <param name="subScore">The sub score.</param> + public ParentalRatingScore(int score, int? subScore) + { + Score = score; + SubScore = subScore; + } + + /// <summary> + /// Gets or sets the score. + /// </summary> + [JsonPropertyName("score")] + public int Score { get; set; } + + /// <summary> + /// Gets or sets the sub score. + /// </summary> + [JsonPropertyName("subScore")] + public int? SubScore { get; set; } +} diff --git a/MediaBrowser.Model/Entities/ParentalRatingSystem.cs b/MediaBrowser.Model/Entities/ParentalRatingSystem.cs new file mode 100644 index 000000000..b452f2901 --- /dev/null +++ b/MediaBrowser.Model/Entities/ParentalRatingSystem.cs @@ -0,0 +1,28 @@ +using System.Collections.Generic; +using System.Text.Json.Serialization; + +namespace MediaBrowser.Model.Entities; + +/// <summary> +/// A class representing a parental rating system. +/// </summary> +public class ParentalRatingSystem +{ + /// <summary> + /// Gets or sets the country code. + /// </summary> + [JsonPropertyName("countryCode")] + public required string CountryCode { get; set; } + + /// <summary> + /// Gets or sets a value indicating whether sub scores are supported. + /// </summary> + [JsonPropertyName("supportsSubScores")] + public bool SupportsSubScores { get; set; } + + /// <summary> + /// Gets or sets the ratings. + /// </summary> + [JsonPropertyName("ratings")] + public IReadOnlyList<ParentalRatingEntry>? Ratings { get; set; } +} diff --git a/MediaBrowser.Model/Globalization/ILocalizationManager.cs b/MediaBrowser.Model/Globalization/ILocalizationManager.cs index 20deaa505..d9df95325 100644 --- a/MediaBrowser.Model/Globalization/ILocalizationManager.cs +++ b/MediaBrowser.Model/Globalization/ILocalizationManager.cs @@ -1,65 +1,64 @@ using System.Collections.Generic; using MediaBrowser.Model.Entities; -namespace MediaBrowser.Model.Globalization +namespace MediaBrowser.Model.Globalization; + +/// <summary> +/// Interface ILocalizationManager. +/// </summary> +public interface ILocalizationManager { /// <summary> - /// Interface ILocalizationManager. + /// Gets the cultures. /// </summary> - public interface ILocalizationManager - { - /// <summary> - /// Gets the cultures. - /// </summary> - /// <returns><see cref="IEnumerable{CultureDto}" />.</returns> - IEnumerable<CultureDto> GetCultures(); + /// <returns><see cref="IEnumerable{CultureDto}" />.</returns> + IEnumerable<CultureDto> GetCultures(); - /// <summary> - /// Gets the countries. - /// </summary> - /// <returns><see cref="IEnumerable{CountryInfo}" />.</returns> - IEnumerable<CountryInfo> GetCountries(); + /// <summary> + /// Gets the countries. + /// </summary> + /// <returns><see cref="IReadOnlyList{CountryInfo}" />.</returns> + IReadOnlyList<CountryInfo> GetCountries(); - /// <summary> - /// Gets the parental ratings. - /// </summary> - /// <returns><see cref="IEnumerable{ParentalRating}" />.</returns> - IEnumerable<ParentalRating> GetParentalRatings(); + /// <summary> + /// Gets the parental ratings. + /// </summary> + /// <returns><see cref="IReadOnlyList{ParentalRating}" />.</returns> + IReadOnlyList<ParentalRating> GetParentalRatings(); - /// <summary> - /// Gets the rating level. - /// </summary> - /// <param name="rating">The rating.</param> - /// <param name="countryCode">The optional two letter ISO language string.</param> - /// <returns><see cref="int" /> or <c>null</c>.</returns> - int? GetRatingLevel(string rating, string? countryCode = null); + /// <summary> + /// Gets the rating level. + /// </summary> + /// <param name="rating">The rating.</param> + /// <param name="countryCode">The optional two letter ISO language string.</param> + /// <returns><see cref="ParentalRatingScore" /> or <c>null</c>.</returns> + ParentalRatingScore? GetRatingScore(string rating, string? countryCode = null); - /// <summary> - /// Gets the localized string. - /// </summary> - /// <param name="phrase">The phrase.</param> - /// <param name="culture">The culture.</param> - /// <returns><see cref="string" />.</returns> - string GetLocalizedString(string phrase, string culture); + /// <summary> + /// Gets the localized string. + /// </summary> + /// <param name="phrase">The phrase.</param> + /// <param name="culture">The culture.</param> + /// <returns><see cref="string" />.</returns> + string GetLocalizedString(string phrase, string culture); - /// <summary> - /// Gets the localized string. - /// </summary> - /// <param name="phrase">The phrase.</param> - /// <returns>System.String.</returns> - string GetLocalizedString(string phrase); + /// <summary> + /// Gets the localized string. + /// </summary> + /// <param name="phrase">The phrase.</param> + /// <returns>System.String.</returns> + string GetLocalizedString(string phrase); - /// <summary> - /// Gets the localization options. - /// </summary> - /// <returns><see cref="IEnumerable{LocalizationOption}" />.</returns> - IEnumerable<LocalizationOption> GetLocalizationOptions(); + /// <summary> + /// Gets the localization options. + /// </summary> + /// <returns><see cref="IEnumerable{LocalizationOption}" />.</returns> + IEnumerable<LocalizationOption> GetLocalizationOptions(); - /// <summary> - /// Returns the correct <see cref="CultureDto" /> for the given language. - /// </summary> - /// <param name="language">The language.</param> - /// <returns>The correct <see cref="CultureDto" /> for the given language.</returns> - CultureDto? FindLanguageInfo(string language); - } + /// <summary> + /// Returns the correct <see cref="CultureDto" /> for the given language. + /// </summary> + /// <param name="language">The language.</param> + /// <returns>The correct <see cref="CultureDto" /> for the given language.</returns> + CultureDto? FindLanguageInfo(string language); } diff --git a/MediaBrowser.Model/Querying/ItemFields.cs b/MediaBrowser.Model/Querying/ItemFields.cs index 49d7c0bcb..6605064ad 100644 --- a/MediaBrowser.Model/Querying/ItemFields.cs +++ b/MediaBrowser.Model/Querying/ItemFields.cs @@ -209,6 +209,7 @@ namespace MediaBrowser.Model.Querying ExternalEtag, PresentationUniqueKey, InheritedParentalRatingValue, + InheritedParentalRatingSubValue, ExternalSeriesId, SeriesPresentationUniqueKey, DateLastRefreshed, diff --git a/MediaBrowser.Model/Users/UserPolicy.cs b/MediaBrowser.Model/Users/UserPolicy.cs index 3d430e101..2c393ca86 100644 --- a/MediaBrowser.Model/Users/UserPolicy.cs +++ b/MediaBrowser.Model/Users/UserPolicy.cs @@ -111,6 +111,8 @@ namespace MediaBrowser.Model.Users /// <value>The max parental rating.</value> public int? MaxParentalRating { get; set; } + public int? MaxParentalSubRating { get; set; } + public string[] BlockedTags { get; set; } public string[] AllowedTags { get; set; } |
