@e22m4u/js-repository
Version:
Реализация репозитория для работы с базами данных в Node.js
38 lines (34 loc) • 958 B
TypeScript
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>;
}