export interface CustomEntity { id: string; name: string; displayName: string; tableName: string; description?: string; isActive: boolean; hasAuditFields: boolean; hasSoftDelete: boolean; migrationStatus: "pending" | "applied" | "failed"; endpointStatus: "pending" | "applied" | "failed"; migrationId?: string; fields: CustomEntityField[]; creationTime: string; lastModificationTime?: string; } export interface CustomEntityField { id: string; entityId: string; name: string; type: "string" | "number" | "boolean" | "date" | "guid" | "decimal"; isRequired: boolean; maxLength?: number; isUnique?: boolean; defaultValue?: string; description?: string; creationTime?: string; lastModificationTime?: string; displayOrder: number; } export interface CreateUpdateCustomEntityFieldDto { id?: string; name: string; type: "string" | "number" | "boolean" | "date" | "guid" | "decimal"; isRequired: boolean; maxLength?: number; isUnique?: boolean; defaultValue?: string; description?: string; displayOrder: number; } export interface CreateUpdateCustomEntityDto { name: string; displayName: string; tableName: string; description?: string; isActive: boolean; hasAuditFields: boolean; hasSoftDelete: boolean; fields: CreateUpdateCustomEntityFieldDto[]; } export interface CrudEndpoint { id: string; entityId: string; entityName: string; method: "GET" | "POST" | "PUT" | "DELETE"; path: string; operationType: string; isActive: boolean; csharpCode: string; creationTime: string; lastModificationTime?: string; } export interface CreateUpdateCrudEndpointDto { entityId: string; entityName: string; method: "GET" | "POST" | "PUT" | "DELETE"; path: string; operationType: string; csharpCode: string; isActive: boolean; } export interface CustomComponent { id: string; name: string; code: string; props?: string; description?: string; isActive: boolean; dependencies?: string; creationTime: string; lastModificationTime?: string; } export interface CustomComponentDto { id: string; name: string; code: string; props?: string; description?: string; isActive: boolean; dependencies?: string; // JSON string of component names creationTime: string; lastModificationTime: string; } export interface CreateUpdateCustomComponentDto { name: string; code: string; props?: string; description?: string; isActive: boolean; dependencies?: string; } export interface ApiMigration { id: string; entityId: string; entityName: string; fileName?: string; sqlScript?: string; status: "pending" | "applied" | "failed"; creationTime: string; lastModificationTime?: string; appliedAt?: string; errorMessage?: string; } export interface CreateUpdateApiMigrationDto { entityId: string; entityName: string; fileName?: string; sqlScript?: string; status?: "pending" | "applied" | "failed"; errorMessage?: string; }