namespace AmpDAL.DTO.ApiRequest; public class ApiRequestSaveResult { public int RequestId { get; set; } public string RequestCode { get; set; } = string.Empty; public int DuplicatesFound { get; set; } public List TopMatches { get; set; } = []; public string Message { get; set; } = string.Empty; } public class DuplicateMatchSummaryDTO { public byte OverallScore { get; set; } public string SuggestionTypeName { get; set; } = string.Empty; public string MatchedName { get; set; } = string.Empty; public string? SuggestedChange { get; set; } public byte MatchSource { get; set; } } public class ReadinessComponentsDTO { public int ParsedInterfaceCount { get; set; } public int SchemaWithContentCount { get; set; } public int OperationCount { get; set; } public int UnsetParamCount { get; set; } public int ContentFieldsComplete { get; set; } // 0–4 (AboutApi, KeyFeatures, UseCases, QuickStart) public int ArtifactCount { get; set; } public int ExposurePolicyCount { get; set; } } public class ApiRequestDTO { public int ApiRequestId { get; set; } public int TenantId { get; set; } public string RequestCode { get; set; } = string.Empty; public string RequestTitle { get; set; } = string.Empty; public string? RequestDescription { get; set; } public string? BusinessJustification { get; set; } public string? UseCases { get; set; } public string? IntentKeywords { get; set; } public int RequestedById { get; set; } public DateTime RequestedOn { get; set; } public int TargetDomainId { get; set; } public byte ProposedApiType { get; set; } public byte ProposedApiKind { get; set; } public byte Priority { get; set; } public byte RequestStatus { get; set; } public int AssignedToId { get; set; } public int LinkedApiId { get; set; } public int LinkedApiVersionId { get; set; } public DateTime? TargetDeliveryDate { get; set; } public string? Remarks { get; set; } // Standard Fields public short SortOrder { get; set; } public byte Status { get; set; } public short Version { get; set; } public byte SourceType { get; set; } // Audit public int CreatedById { get; set; } public DateTime CreatedOn { get; set; } public int ModifiedById { get; set; } public DateTime ModifiedOn { get; set; } } public class ApiRequestSaveDTO { public int ApiRequestId { get; set; } public int TenantId { get; set; } public string RequestCode { get; set; } = string.Empty; public string RequestTitle { get; set; } = string.Empty; public string? RequestDescription { get; set; } public string? BusinessJustification { get; set; } public string? UseCases { get; set; } public string? IntentKeywords { get; set; } public int RequestedById { get; set; } public DateTime RequestedOn { get; set; } public int TargetDomainId { get; set; } public byte ProposedApiType { get; set; } public byte ProposedApiKind { get; set; } public byte Priority { get; set; } public byte RequestStatus { get; set; } public int AssignedToId { get; set; } public int LinkedApiId { get; set; } public int LinkedApiVersionId { get; set; } public DateTime? TargetDeliveryDate { get; set; } public string? Remarks { get; set; } // Standard Fields public short SortOrder { get; set; } public byte Status { get; set; } public short Version { get; set; } public byte SourceType { get; set; } // Audit public int CreatedById { get; set; } public DateTime CreatedOn { get; set; } public int ModifiedById { get; set; } public DateTime ModifiedOn { get; set; } }