using System; using System.Collections.Generic; using System.Text.Json.Serialization; namespace Jellyfin.LiveTv.Listings.SchedulesDirectDtos { /// /// Program dto. /// public class ProgramDto { /// /// Gets or sets the program id. /// [JsonPropertyName("programID")] public string? ProgramId { get; set; } /// /// Gets or sets the air date time. /// [JsonPropertyName("airDateTime")] public DateTime? AirDateTime { get; set; } /// /// Gets or sets the duration. /// [JsonPropertyName("duration")] public int Duration { get; set; } /// /// Gets or sets the md5. /// [JsonPropertyName("md5")] public string? Md5 { get; set; } /// /// Gets or sets the list of audio properties. /// [JsonPropertyName("audioProperties")] public IReadOnlyList AudioProperties { get; set; } = Array.Empty(); /// /// Gets or sets the list of video properties. /// [JsonPropertyName("videoProperties")] public IReadOnlyList VideoProperties { get; set; } = Array.Empty(); /// /// Gets or sets the list of ratings. /// [JsonPropertyName("ratings")] public IReadOnlyList Ratings { get; set; } = Array.Empty(); /// /// Gets or sets a value indicating whether this program is new. /// [JsonPropertyName("new")] public bool? New { get; set; } /// /// Gets or sets the multipart object. /// [JsonPropertyName("multipart")] public MultipartDto? Multipart { get; set; } /// /// Gets or sets the live tape delay. /// [JsonPropertyName("liveTapeDelay")] public string? LiveTapeDelay { get; set; } /// /// Gets or sets a value indicating whether this is the premiere. /// [JsonPropertyName("premiere")] public bool Premiere { get; set; } /// /// Gets or sets a value indicating whether this is a repeat. /// [JsonPropertyName("repeat")] public bool Repeat { get; set; } /// /// Gets or sets the premiere or finale. /// [JsonPropertyName("isPremiereOrFinale")] public string? IsPremiereOrFinale { get; set; } } }