@gsb-core/core
Version:
GSB core services and classes for platform-independent web applications
53 lines (52 loc) • 2.02 kB
TypeScript
import { GsbEntityDef, GsbProperty } from '../../models/gsb-entity-def.model';
/**
* Service for managing schema creation and updates with intelligent reference property handling
*/
export declare class SchemaManagerService {
private useCache;
private entityDefService;
private cacheService;
private static instance;
private entityService;
constructor(useCache?: boolean);
/**
* Get the singleton instance of SchemaManagerService
* @param useCache Whether to use cache for entity definitions
* @returns The SchemaManagerService instance
*/
static getInstance(useCache?: boolean): SchemaManagerService;
/**
* Create or update schema entities and properties
* @param entityDefs Array of entity definitions to process
*/
createOrUpdateSchema(entityDefs: GsbEntityDef[], authToken: string, tenantCode: string): Promise<{
createdEntities: GsbEntityDef[];
updatedEntities: GsbEntityDef[];
errors: string[];
}>;
/**
* Delete schema entities
* @param entityDefs Array of entity definitions to delete
*/
deleteSchema(entityDefs: GsbEntityDef[], authToken: string, tenantCode: string): Promise<void>;
/**
* Create or update a table
* @param entityDef The entity definition to create or update
*/
creaateOrUpdateTable(entityDef: GsbEntityDef, authToken: string, tenantCode: string): Promise<void>;
/**
* Delete a table
* @param entityDef The entity definition to delete
*/
deleteTable(entityDef: GsbEntityDef, authToken: string, tenantCode: string): Promise<void>;
/**
* Create or update a column
* @param property The property to create or update
*/
createOrUpdateColumn(property: GsbProperty, authToken: string, tenantCode: string): Promise<void>;
/**
* Delete a column
* @param property The property to delete
*/
deleteColumn(property: GsbProperty, authToken: string, tenantCode: string): Promise<void>;
}