// <copyright file="LibrarySummaryView.cs" company="PlaceholderCompany">
// Copyright (c) PlaceholderCompany. All rights reserved.
// </copyright>

namespace Jellyfin.Database.Implementations.Entities.Views;

#pragma warning disable CS1591
#pragma warning disable SA1600

/// <summary>
/// Read-only projection of the library."LibrarySummary_v" view.
/// One row per item type with aggregate statistics across the whole library.
/// </summary>
public class LibrarySummaryView
{
    public string? Type { get; set; }

    public long? ItemCount { get; set; }

    public long? WithYear { get; set; }

    public int? OldestYear { get; set; }

    public int? NewestYear { get; set; }

    public decimal? AvgCommunityRating { get; set; }

    public decimal? TotalRunTimeTicks { get; set; }

    public decimal? TotalRuntimeHours { get; set; }

    public decimal? TotalSizeBytes { get; set; }

    public decimal? TotalSizeGB { get; set; }

    public long? Count4K { get; set; }

    public long? Count1080p { get; set; }

    public long? Count720p { get; set; }

    public long? CountSD { get; set; }

    public long? CountDolbyVision { get; set; }

    public long? CountHDR10Plus { get; set; }

    public long? CountHDR10 { get; set; }
}
