UNPKG

@klerick/json-api-nestjs-typeorm

Version:

MicroOrm adapter for JsonApi Plugin for NestJs

49 lines 1.88 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.TypeOrmJsonApiModule = void 0; const typeorm_1 = require("@nestjs/typeorm"); const json_api_nestjs_1 = require("@klerick/json-api-nestjs"); const factory_1 = require("./factory"); const service_1 = require("./service"); class TypeOrmJsonApiModule { static forRoot(options) { const optionProvider = { provide: json_api_nestjs_1.MODULE_OPTIONS_TOKEN, useValue: options, }; const typeOrmModule = typeorm_1.TypeOrmModule.forFeature(options.entities, options.connectionName); const currentProvider = [ ...(options.providers || []), optionProvider, (0, factory_1.CurrentDataSourceProvider)(options.connectionName), (0, factory_1.CurrentEntityManager)(), (0, factory_1.EntityPropsMap)(options.entities), (0, factory_1.RunInTransactionFactory)(), { provide: json_api_nestjs_1.ErrorFormatService, useClass: service_1.TypeOrmFormatErrorService, }, ]; const currentImport = [ typeOrmModule, ...(options.imports || []), ]; return { module: TypeOrmJsonApiModule, imports: currentImport, providers: currentProvider, exports: [...currentProvider, ...currentImport], }; } static getUtilProviders(entity) { return [ (0, factory_1.CurrentEntityRepository)(entity), service_1.TypeormUtilsService, (0, factory_1.OrmServiceFactory)(), (0, factory_1.FindOneRowEntityFactory)(), (0, factory_1.CheckRelationNameFactory)(), ]; } } exports.TypeOrmJsonApiModule = TypeOrmJsonApiModule; //# sourceMappingURL=type-orm-json-api.module.js.map