using Jiaowu.Api.Domain.Common; namespace Jiaowu.Api.Domain.System; public enum AppUpdatePlatform { Android, Ios } public enum AppUpdateChannel { Production, Staging } public enum AppUpdateReleaseStatus { Draft, Published, Archived } public sealed class AppUpdateRelease : EntityBase { public AppUpdatePlatform Platform { get; set; } public AppUpdateChannel Channel { get; set; } public required string Version { get; set; } public required string NativeVersion { get; set; } public AppUpdateReleaseStatus Status { get; set; } = AppUpdateReleaseStatus.Draft; public string? ReleaseNotes { get; set; } public required string FileName { get; set; } public long FileSize { get; set; } public required string Sha256 { get; set; } public required byte[] BundleContent { get; set; } public required string CreatedByUserName { get; set; } public string? PublishedByUserName { get; set; } public DateTime? PublishedAt { get; set; } }