namespace Backend.Domain;

public sealed class Season
{
    public int Id { get; set; }
    public int Year { get; set; }
    public string Name { get; set; } = string.Empty;
    public bool IsDemo { get; set; }
    public bool IsCurrent { get; set; }
    public bool IsCommunityOnly { get; set; }
    public string CurrentPhase { get; set; } = string.Empty;
    public DateOnly NominationStartsAt { get; set; }
    public DateOnly NominationEndsAt { get; set; }
    public DateOnly VotingStartsAt { get; set; }
    public DateOnly VotingEndsAt { get; set; }
    public DateOnly ReviewStartsAt { get; set; }
    public DateOnly ReviewEndsAt { get; set; }
    public DateOnly ShowDate { get; set; }
    public TimeOnly ShowStartsAt { get; set; } = new(20, 0);
    public DateTimeOffset? WinnersPublishedAt { get; set; }
    public string? WinnersPublishedByTwitchId { get; set; }
    public string SubcategoryTemplatesJson { get; set; } = "[]";
    public string WorkflowRulesJson { get; set; } = "[]";
    public ICollection<Category> Categories { get; set; } = [];
    public ICollection<AwardResult> Results { get; set; } = [];
}
