json-api-nestjs
Version:
JsonApi Plugin for NestJs
42 lines • 1.72 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.MicroOrmJsonApiModule = void 0;
const nestjs_1 = require("@mikro-orm/nestjs");
const constants_1 = require("../../constants");
const factory_1 = require("./factory");
const micro_orm_util_service_1 = require("./service/micro-orm-util.service");
class MicroOrmJsonApiModule {
static module = 'microOrm';
static forRoot(options) {
const optionProvider = {
provide: constants_1.GLOBAL_MODULE_OPTIONS_TOKEN,
useValue: options,
};
const microOrmModule = nestjs_1.MikroOrmModule.forFeature(options.entities, options.connectionName);
const currentProvider = [
...(options.providers || []),
optionProvider,
(0, factory_1.CurrentMicroOrmProvider)(options.connectionName),
(0, factory_1.CurrentEntityManager)(),
(0, factory_1.CurrentEntityMetadata)(),
(0, factory_1.RunInTransactionFactory)(),
(0, factory_1.EntityPropsMap)(options.entities),
];
const currentImport = [microOrmModule, ...(options.imports || [])];
return {
module: MicroOrmJsonApiModule,
imports: currentImport,
providers: currentProvider,
exports: [...currentProvider, ...currentImport],
};
}
static getUtilProviders(entity) {
return [
(0, factory_1.CurrentEntityRepository)(entity),
(0, factory_1.OrmServiceFactory)(),
micro_orm_util_service_1.MicroOrmUtilService,
];
}
}
exports.MicroOrmJsonApiModule = MicroOrmJsonApiModule;
//# sourceMappingURL=micro-orm-json-api.module.js.map