namespace YD_Event.Core.Entities;
/// Android 裁判端发布包。撤回仅停止新更新,历史记录保留。
[SugarTable("JudgeAppRelease")]
public class JudgeAppRelease : Entity
{
[SugarColumn(Length = 32)] public string Channel { get; set; } = "production";
[SugarColumn(Length = 160)] public string PackageName { get; set; } = null!;
public int VersionCode { get; set; }
[SugarColumn(Length = 64)] public string VersionName { get; set; } = null!;
[SugarColumn(Length = 2000)] public string NotesZh { get; set; } = string.Empty;
[SugarColumn(Length = 2000)] public string NotesEn { get; set; } = string.Empty;
public bool IsMandatory { get; set; }
public long FileSize { get; set; }
[SugarColumn(Length = 64)] public string Sha256 { get; set; } = null!;
[SugarColumn(Length = 64)] public string CertificateSha256 { get; set; } = null!;
[SugarColumn(Length = 1000)] public string FileUrl { get; set; } = null!;
/// 0=草稿,1=已发布,2=已撤回。
public int ReleaseStatus { get; set; }
public long CreatedUserId { get; set; }
public DateTime CreatedTime { get; set; }
public long? PublishedUserId { get; set; }
public DateTime? PublishedTime { get; set; }
public long? WithdrawnUserId { get; set; }
public DateTime? WithdrawnTime { get; set; }
}