using System; using System.ComponentModel.DataAnnotations; using Volo.Abp.Application.Dtos; namespace Sozsoft.Platform.DeveloperKit; public class CustomComponentDto : FullAuditedEntityDto { public string Name { get; set; } = string.Empty; public string RoutePath { get; set; } = string.Empty; public string Code { get; set; } = string.Empty; public string? Props { get; set; } public string? Description { get; set; } public bool IsActive { get; set; } = true; public string? Dependencies { get; set; } // JSON string of component names } public class CreateUpdateCustomComponentDto { public string Name { get; set; } = string.Empty; [Required] [StringLength(512)] [RegularExpression(@"^/.*", ErrorMessage = "RoutePath must start with '/'.")] public string RoutePath { get; set; } = string.Empty; public string Code { get; set; } = string.Empty; public string? Props { get; set; } public string? Description { get; set; } public bool IsActive { get; set; } = true; public string? Dependencies { get; set; } // JSON string of component names }