using System.ComponentModel.DataAnnotations.Schema;
using SVSim.Database.Common;

namespace SVSim.Database.Models;

/// <summary>
/// Singleton row (Id=1) for the current Colosseum event from /mypage/index data.colosseum_info.
/// Time-bound — recapture per Colosseum cycle (every few weeks).
/// </summary>
public class ColosseumConfig : BaseEntity<int>
{
    public string ColosseumId { get; set; } = string.Empty;

    public string ColosseumName { get; set; } = string.Empty;

    public string CardPoolName { get; set; } = string.Empty;

    public string DeckFormat { get; set; } = string.Empty;

    public DateTime StartTime { get; set; }

    public DateTime EndTime { get; set; }

    public string NowRound { get; set; } = string.Empty;

    public string IsDisplayTips { get; set; } = string.Empty;

    public string TipsId { get; set; } = string.Empty;

    public bool IsColosseumPeriod { get; set; }

    public bool IsRoundPeriod { get; set; }

    public string IsNormalTwoPick { get; set; } = string.Empty;

    public string IsSpecialMode { get; set; } = string.Empty;

    public int IsAllCardEnabled { get; set; }

    [Column(TypeName = "jsonb")]
    public string SalesPeriodInfo { get; set; } = "{}";
}
