@klerick/json-api-nestjs-typeorm
Version:
MicroOrm adapter for JsonApi Plugin for NestJs
49 lines • 1.88 kB
JavaScript
;
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