using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Text.Json.Serialization;

namespace Jellyfin.Plugin.SRFPlay.Api.Models;

/// <summary>
/// Represents the root media composition response from SRF API.
/// </summary>
public class MediaComposition
{
    /// <summary>
    /// Gets or sets the list of chapters (videos/episodes).
    /// </summary>
    [JsonPropertyName("chapterList")]
    public IReadOnlyList<Chapter> ChapterList { get; set; } = new List<Chapter>();

    /// <summary>
    /// Gets or sets the episode information.
    /// </summary>
    [JsonPropertyName("episode")]
    public Episode? Episode { get; set; }

    /// <summary>
    /// Gets or sets the show information.
    /// </summary>
    [JsonPropertyName("show")]
    public Show? Show { get; set; }
}
