json-api-nestjs
Version:
JsonApi Plugin for NestJs
64 lines • 2.47 kB
JavaScript
;
var AtomicOperationModule_1;
Object.defineProperty(exports, "__esModule", { value: true });
exports.AtomicOperationModule = void 0;
const tslib_1 = require("tslib");
const async_hooks_1 = require("async_hooks");
const common_1 = require("@nestjs/common");
const core_1 = require("@nestjs/core");
const controllers_1 = require("./controllers");
const service_1 = require("./service");
const factory_1 = require("./factory");
const constants_1 = require("./constants");
let AtomicOperationModule = AtomicOperationModule_1 = class AtomicOperationModule {
static forRoot(options, entityModules, commonModule) {
return {
module: AtomicOperationModule_1,
controllers: [controllers_1.OperationController],
providers: [
service_1.ExplorerService,
service_1.ExecuteService,
service_1.SwaggerService,
factory_1.AsyncIterate,
(0, factory_1.MapControllerEntity)(options.entities, entityModules),
(0, factory_1.MapEntityNameToEntity)(options.entities),
(0, factory_1.ZodInputOperation)(),
{
provide: constants_1.MAP_CONTROLLER_INTERCEPTORS,
useValue: new Map(),
},
{
provide: constants_1.OPTIONS,
useValue: options.options,
},
{
provide: async_hooks_1.AsyncLocalStorage,
useValue: new async_hooks_1.AsyncLocalStorage(),
},
],
imports: [core_1.DiscoveryModule, commonModule],
};
}
als;
configure(consumer) {
consumer
.apply((req, res, next) => {
const store = {
req: req,
res: res,
next: next,
};
this.als.run(store, () => next());
})
.forRoutes('*');
}
};
exports.AtomicOperationModule = AtomicOperationModule;
tslib_1.__decorate([
(0, common_1.Inject)(async_hooks_1.AsyncLocalStorage),
tslib_1.__metadata("design:type", async_hooks_1.AsyncLocalStorage)
], AtomicOperationModule.prototype, "als", void 0);
exports.AtomicOperationModule = AtomicOperationModule = AtomicOperationModule_1 = tslib_1.__decorate([
(0, common_1.Module)({})
], AtomicOperationModule);
//# sourceMappingURL=atomic-operation.module.js.map