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