| 12345678910111213141516171819202122232425262728293031323334353637 |
- import {ModelId} from './types.js';
- import {ModelData} from './types.js';
- import {Service} from '@e22m4u/js-service';
- import {Repository} from './repository/index.js';
- import {ModelDefinition} from './definition/index.js';
- import {DatasourceDefinition} from './definition/index.js';
- import {DEFAULT_PRIMARY_KEY_PROPERTY_NAME} from './definition/index.js';
- /**
- * Database schema.
- */
- export declare class DatabaseSchema extends Service {
- /**
- * Define datasource.
- *
- * @param datasourceDef
- */
- defineDatasource(datasourceDef: DatasourceDefinition): this;
- /**
- * Define model.
- *
- * @param modelDef
- */
- defineModel(modelDef: ModelDefinition): this;
- /**
- * Get repository.
- *
- * @param modelName
- */
- getRepository<
- Data extends object = ModelData,
- IdType extends ModelId = ModelId,
- IdName extends string = typeof DEFAULT_PRIMARY_KEY_PROPERTY_NAME,
- >(modelName: string): Repository<Data, IdType, IdName>;
- }
|