erp-platform/ui/src/proxy/developerKit/models.ts
2025-11-05 12:02:16 +03:00

132 lines
No EOL
2.9 KiB
TypeScript

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;
}