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

namespace Jellyfin.Database.Implementations.Entities.Views;

#pragma warning disable CS1591
#pragma warning disable SA1600

using System;

/// <summary>
/// Read-only projection of library."ItemProviders_v".
/// Items with external provider IDs pivoted into named columns.
/// </summary>
public class ItemProviderView
{
    public Guid? ItemId { get; set; }

    public string? Type { get; set; }

    public string? Name { get; set; }

    public string? OriginalTitle { get; set; }

    public int? ProductionYear { get; set; }

    public string? SeriesName { get; set; }

    public int? EpisodeNumber { get; set; }

    public int? SeasonNumber { get; set; }

    public string? ImdbId { get; set; }

    public string? TmdbId { get; set; }

    public string? TvdbId { get; set; }

    public string? TvRageId { get; set; }

    public string? MusicBrainzAlbumId { get; set; }

    public string? MusicBrainzArtistId { get; set; }

    /// <summary>Gets or sets remaining providers as a JSON object string.</summary>
    public string? OtherProviders { get; set; }
}
