UNPKG

@e22m4u/js-repository

Version:

Реализация репозитория для работы с базами данных в Node.js

42 lines (38 loc) 909 B
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); } }