using SVSim.Database.Common;
using SVSim.Database.Enums;
namespace SVSim.Database.Models;
///
/// One row of /pack/info's pack_config_list. PK = parent_gacha_id (the wire id the
/// client treats as "this pack"). Child gachas and banners are owned collections — replaced
/// wholesale on importer re-runs.
///
public class PackConfigEntry : BaseEntity
{
public int BasePackId { get; set; }
public int GachaType { get; set; }
public PackCategory PackCategory { get; set; }
public int PosterType { get; set; }
public DateTime CommenceDate { get; set; }
public DateTime CompleteDate { get; set; }
public DateTime? SalesPeriodTime { get; set; }
public int SleeveId { get; set; }
public int SpecialSleeveId { get; set; }
public int OverrideDrawEffectPackId { get; set; }
public int OverrideUiEffectPackId { get; set; }
public string GachaDetail { get; set; } = string.Empty;
public bool IsHide { get; set; }
public bool IsNew { get; set; }
public bool IsPreRelease { get; set; }
public int OpenCountLimit { get; set; }
public PackGachaPointConfig? GachaPointConfig { get; set; }
public List Banners { get; set; } = new();
public List ChildGachas { get; set; } = new();
}