using System.Collections.Generic; using System.Diagnostics.CodeAnalysis; using System.Text.Json.Serialization; namespace Jellyfin.Plugin.SRFPlay.Api.Models; /// /// Represents a show from the Play v3 API. /// public class PlayV3Show { /// /// Gets or sets the show ID. /// [JsonPropertyName("id")] public string? Id { get; set; } /// /// Gets or sets the show URN. /// [JsonPropertyName("urn")] public string? Urn { get; set; } /// /// Gets or sets the show title. /// [JsonPropertyName("title")] public string? Title { get; set; } /// /// Gets or sets the image URL. /// [JsonPropertyName("imageUrl")] public string? ImageUrl { get; set; } /// /// Gets or sets the transmission type (TV or Radio). /// [JsonPropertyName("transmission")] public string? Transmission { get; set; } /// /// Gets or sets the vendor/business unit. /// [JsonPropertyName("vendor")] public string? Vendor { get; set; } /// /// Gets or sets the lead description. /// [JsonPropertyName("lead")] public string? Lead { get; set; } /// /// Gets or sets the full description. /// [JsonPropertyName("description")] public string? Description { get; set; } /// /// Gets or sets the poster image URL. /// [JsonPropertyName("posterImageUrl")] public string? PosterImageUrl { get; set; } /// /// Gets or sets the number of episodes. /// [JsonPropertyName("numberOfEpisodes")] public int NumberOfEpisodes { get; set; } /// /// Gets or sets the list of topic IDs. /// [JsonPropertyName("topicList")] [SuppressMessage("Usage", "CA2227:Collection properties should be read only", Justification = "Required for JSON deserialization")] [SuppressMessage("Design", "CA1002:Do not expose generic lists", Justification = "DTO for JSON deserialization")] public List? TopicList { get; set; } }