using System.Text.Json.Serialization;

namespace Modules.Library.WebApi.Models.Views.Anime;

[JsonPolymorphic]
[JsonDerivedType(typeof(Season), typeDiscriminator: nameof(Season))]
[JsonDerivedType(typeof(Episode), typeDiscriminator: nameof(Episode))]
public abstract class AnimeItem
{
    public Guid Id { get; set; }
    public bool Deleted { get; set; }
    public bool Completed { get; set; }

    public CommonProperties CommonProperties { get; set; } = default!;
    public int? Number { get; set; }
    public ushort Order { get; set; }
    public long ExpirationTimeTicks { get; set; }
}