using dy.net.model.entity; namespace dy.net.model.dto { public enum OpenListDirectoryRepairStatus { Queued = 0, Scanning = 1, AwaitingConfirmation = 2, Cleaning = 3, Completed = 4, PartiallyFailed = 5, Cancelled = 6, Paused = 7 } public enum OpenListDirectoryRepairItemStatus { Pending = 0, Inspecting = 1, EmptyConfirmed = 2, SkippedNonEmpty = 3, Deleting = 4, Deleted = 5, Failed = 6, Missing = 7 } public sealed class OpenListDirectoryRepairPreflightRequest { public string LogicalPath { get; set; } = "/collect/Kk"; } public sealed class OpenListDirectoryRepairPreflightResult { public bool CanStart { get; set; } public string RequestedPath { get; set; } public string CanonicalPath { get; set; } public string CandidatePattern { get; set; } public string ConfigurationFingerprint { get; set; } public int CandidateCount { get; set; } public List Errors { get; set; } = new(); public List Warnings { get; set; } = new(); } public sealed class CreateOpenListDirectoryRepairRequest { public string LogicalPath { get; set; } = "/collect/Kk"; public string ConfigurationFingerprint { get; set; } } public sealed class ConfirmOpenListDirectoryRepairRequest { public string ConfirmationToken { get; set; } } public sealed class OpenListDirectoryRepairTaskDetail { public OpenListDirectoryRepairTask Task { get; set; } public string StatusText { get; set; } public string ConfirmationToken { get; set; } public bool CanConfirmCleanup { get; set; } public bool CanCancel { get; set; } public bool CanResume { get; set; } public bool CanRetryFailed { get; set; } } public sealed class OpenListDirectoryRepairItemPageRequest { public int PageIndex { get; set; } = 1; public int PageSize { get; set; } = 20; public OpenListDirectoryRepairItemStatus? Status { get; set; } public string Keyword { get; set; } } public sealed class OpenListDirectoryRepairItemPage { public int TotalCount { get; set; } public List Items { get; set; } = new(); } }