UNPKG

@gsb-core/core

Version:

GSB core services and classes for platform-independent web applications

53 lines (52 loc) 2.02 kB
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>; }