using System.Collections.ObjectModel;
using System.Text.Json.Serialization;
namespace Jellyfin.Plugin.JRay.Models;
///
/// A snapshot of how much of the library has truth data, with overall totals
/// and breakdowns by media type and by genre.
///
public class CoverageReport
{
///
/// Gets or sets the coverage counts across the whole library.
///
[JsonPropertyName("total")]
public CoverageCounts Total { get; set; } = new();
///
/// Gets the per-media-type breakdown (Film vs TV).
///
[JsonPropertyName("by_media_type")]
[JsonObjectCreationHandling(JsonObjectCreationHandling.Populate)]
public Collection ByMediaType { get; } = new();
///
/// Gets the per-genre breakdown, one row per genre present in the library.
///
[JsonPropertyName("by_genre")]
[JsonObjectCreationHandling(JsonObjectCreationHandling.Populate)]
public Collection ByGenre { get; } = new();
}