| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178 | using System;using System.Collections.Generic;using System.Text.Json.Serialization;using Jellyfin.Data.Enums;using Jellyfin.Extensions.Json.Converters;using MediaBrowser.Model.Entities;using MediaBrowser.Model.Querying;namespace Jellyfin.Api.Models.LiveTvDtos;/// <summary>/// Get programs dto./// </summary>public class GetProgramsDto{    /// <summary>    /// Gets or sets the channels to return guide information for.    /// </summary>    [JsonConverter(typeof(JsonCommaDelimitedArrayConverterFactory))]    public IReadOnlyList<Guid> ChannelIds { get; set; } = Array.Empty<Guid>();    /// <summary>    /// Gets or sets optional. Filter by user id.    /// </summary>    public Guid? UserId { get; set; }    /// <summary>    /// Gets or sets the minimum premiere start date.    /// Optional.    /// </summary>    public DateTime? MinStartDate { get; set; }    /// <summary>    /// Gets or sets filter by programs that have completed airing, or not.    /// Optional.    /// </summary>    public bool? HasAired { get; set; }    /// <summary>    /// Gets or sets filter by programs that are currently airing, or not.    /// Optional.    /// </summary>    public bool? IsAiring { get; set; }    /// <summary>    /// Gets or sets the maximum premiere start date.    /// Optional.    /// </summary>    public DateTime? MaxStartDate { get; set; }    /// <summary>    /// Gets or sets the minimum premiere end date.    /// Optional.    /// </summary>    public DateTime? MinEndDate { get; set; }    /// <summary>    /// Gets or sets the maximum premiere end date.    /// Optional.    /// </summary>    public DateTime? MaxEndDate { get; set; }    /// <summary>    /// Gets or sets filter for movies.    /// Optional.    /// </summary>    public bool? IsMovie { get; set; }    /// <summary>    /// Gets or sets filter for series.    /// Optional.    /// </summary>    public bool? IsSeries { get; set; }    /// <summary>    /// Gets or sets filter for news.    /// Optional.    /// </summary>    public bool? IsNews { get; set; }    /// <summary>    /// Gets or sets filter for kids.    /// Optional.    /// </summary>    public bool? IsKids { get; set; }    /// <summary>    /// Gets or sets filter for sports.    /// Optional.    /// </summary>    public bool? IsSports { get; set; }    /// <summary>    /// Gets or sets the record index to start at. All items with a lower index will be dropped from the results.    /// Optional.    /// </summary>    public int? StartIndex { get; set; }    /// <summary>    /// Gets or sets the maximum number of records to return.    /// Optional.    /// </summary>    public int? Limit { get; set; }    /// <summary>    /// Gets or sets specify one or more sort orders, comma delimited. Options: Name, StartDate.    /// Optional.    /// </summary>    [JsonConverter(typeof(JsonCommaDelimitedArrayConverterFactory))]    public IReadOnlyList<ItemSortBy> SortBy { get; set; } = Array.Empty<ItemSortBy>();    /// <summary>    /// Gets or sets sort Order - Ascending,Descending.    /// </summary>    [JsonConverter(typeof(JsonCommaDelimitedArrayConverterFactory))]    public IReadOnlyList<SortOrder> SortOrder { get; set; } = Array.Empty<SortOrder>();    /// <summary>    /// Gets or sets the genres to return guide information for.    /// </summary>    [JsonConverter(typeof(JsonPipeDelimitedArrayConverterFactory))]    public IReadOnlyList<string> Genres { get; set; } = Array.Empty<string>();    /// <summary>    /// Gets or sets the genre ids to return guide information for.    /// </summary>    [JsonConverter(typeof(JsonCommaDelimitedArrayConverterFactory))]    public IReadOnlyList<Guid> GenreIds { get; set; } = Array.Empty<Guid>();    /// <summary>    /// Gets or sets include image information in output.    /// Optional.    /// </summary>    public bool? EnableImages { get; set; }    /// <summary>    /// Gets or sets a value indicating whether retrieve total record count.    /// </summary>    public bool EnableTotalRecordCount { get; set; } = true;    /// <summary>    /// Gets or sets the max number of images to return, per image type.    /// Optional.    /// </summary>    public int? ImageTypeLimit { get; set; }    /// <summary>    /// Gets or sets the image types to include in the output.    /// Optional.    /// </summary>    [JsonConverter(typeof(JsonCommaDelimitedArrayConverterFactory))]    public IReadOnlyList<ImageType> EnableImageTypes { get; set; } = Array.Empty<ImageType>();    /// <summary>    /// Gets or sets include user data.    /// Optional.    /// </summary>    public bool? EnableUserData { get; set; }    /// <summary>    /// Gets or sets filter by series timer id.    /// Optional.    /// </summary>    public string? SeriesTimerId { get; set; }    /// <summary>    /// Gets or sets filter by library series id.    /// Optional.    /// </summary>    public Guid LibrarySeriesId { get; set; }    /// <summary>    /// Gets or sets specify additional fields of information to return in the output. This allows multiple, comma delimited. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines.    /// Optional.    /// </summary>    [JsonConverter(typeof(JsonCommaDelimitedArrayConverterFactory))]    public IReadOnlyList<ItemFields> Fields { get; set; } = Array.Empty<ItemFields>();}
 |