using System;
using System.Collections.Generic;
using API.DTOs.Recommendation;
using API.DTOs.Scrobbling;
using API.Services.Plus;
namespace API.DTOs.KavitaPlus.Metadata;
#nullable enable
///
/// This is AniListSeries
///
public sealed record ExternalSeriesDetailDto
{
public string Name { get; set; }
public int? AniListId { get; set; }
public long? MALId { get; set; }
public int? CbrId { get; set; }
public IList Synonyms { get; set; } = [];
public PlusMediaFormat PlusMediaFormat { get; set; }
public string? SiteUrl { get; set; }
public string? CoverUrl { get; set; }
public IList Genres { get; set; }
public IList Staff { get; set; }
public IList Tags { get; set; }
public string? Summary { get; set; }
public ScrobbleProvider Provider { get; set; } = ScrobbleProvider.AniList;
public DateTime? StartDate { get; set; }
public DateTime? EndDate { get; set; }
public int AverageScore { get; set; }
/// AniList returns the total count of unique chapters, includes 1.1 for example
public int Chapters { get; set; }
/// AniList returns the total count of unique volumes, includes 1.1 for example
public int Volumes { get; set; }
public IList? Relations { get; set; } = [];
public IList? Characters { get; set; } = [];
#region Comic Only
public string? Publisher { get; set; }
///
/// Only from CBR for . Full metadata about issues
///
public IList? ChapterDtos { get; set; }
#endregion
}