@e22m4u/js-repository
Version:
Реализация репозитория для работы с базами данных в Node.js
42 lines (38 loc) • 909 B
JavaScript
import {Service} from '@e22m4u/js-service';
import {Repository} from './repository/index.js';
import {DefinitionRegistry} from './definition/index.js';
import {RepositoryRegistry} from './repository/index.js';
/**
* Database schema.
*/
export class DatabaseSchema extends Service {
/**
* Define datasource.
*
* @param {object} datasourceDef
* @returns {this}
*/
defineDatasource(datasourceDef) {
this.getService(DefinitionRegistry).addDatasource(datasourceDef);
return this;
}
/**
* Define model.
*
* @param {object} modelDef
* @returns {this}
*/
defineModel(modelDef) {
this.getService(DefinitionRegistry).addModel(modelDef);
return this;
}
/**
* Get repository.
*
* @param {string} modelName
* @returns {Repository}
*/
getRepository(modelName) {
return this.getService(RepositoryRegistry).getRepository(modelName);
}
}