using dy.net.model.dto; using SqlSugar; using AppStorageType = dy.net.model.dto.StorageType; namespace dy.net.model.entity { [SugarTable(TableName = "storage_migration_item")] [SugarIndex("idx_migration_item_task_stage", nameof(TaskId), OrderByType.Asc, nameof(Stage), OrderByType.Asc)] public class StorageMigrationItem { [SugarColumn(IsPrimaryKey = true, Length = 50)] public string Id { get; set; } [SugarColumn(Length = 50)] public string TaskId { get; set; } [SugarColumn(Length = 200)] public string VideoId { get; set; } [SugarColumn(IsNullable = true)] public AppStorageType? SourceStorageType { get; set; } public bool AdoptExistingTarget { get; set; } public StorageMigrationItemStage Stage { get; set; } public int Attempts { get; set; } public long ExpectedLength { get; set; } [SugarColumn(Length = 2000, IsNullable = true)] public string OldVideoPath { get; set; } [SugarColumn(Length = 2000, IsNullable = true)] public string TargetVideoPath { get; set; } [SugarColumn(Length = 2000, IsNullable = true)] public string TargetCoverPath { get; set; } [SugarColumn(ColumnDataType = "TEXT", Length = -1)] public string OldSnapshotJson { get; set; } [SugarColumn(ColumnDataType = "TEXT", Length = -1, IsNullable = true)] public string AttachmentPlanJson { get; set; } [SugarColumn(ColumnDataType = "TEXT", Length = -1, IsNullable = true)] public string UploadedPathsJson { get; set; } [SugarColumn(ColumnDataType = "TEXT", Length = -1, IsNullable = true)] public string OwnedRemotePathsJson { get; set; } [SugarColumn(ColumnDataType = "TEXT", Length = -1, IsNullable = true)] public string ErrorMessage { get; set; } [SugarColumn(ColumnDataType = "TEXT", Length = -1, IsNullable = true)] public string WarningMessage { get; set; } public DateTime CreatedAt { get; set; } public DateTime UpdatedAt { get; set; } [SugarColumn(IsNullable = true)] public DateTime? CompletedAt { get; set; } } }