@duongtrungnguyen/nestro
Version:
Service registry for Nest JS
55 lines • 1.9 kB
JavaScript
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __decorateClass = (decorators, target, key, kind) => {
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
for (var i = decorators.length - 1, decorator; i >= 0; i--)
if (decorator = decorators[i])
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
if (kind && result) __defProp(target, key, result);
return result;
};
import { Module, RequestMethod } from "@nestjs/common";
import { DashboardController, RegistryController } from "./controllers";
import { SecurityMiddleware, SecurityModule } from "../security";
import { RegistryService } from "./services";
import { StorageModule } from "../storage";
let ServerModule = class {
static register(config) {
this._config = config ?? {};
const controllers = [RegistryController];
const providers = [RegistryService];
const imports = [StorageModule.register(this._config.storage ?? {})];
if (this._config.enableRegistryDashboard) {
controllers.push(DashboardController);
}
if (this._config.enableSecurity) {
imports.push(
SecurityModule.register({
...this._config.security ?? {},
initKeys: true
})
);
}
return {
module: ServerModule,
imports,
providers,
controllers,
exports: [RegistryService],
global: true
};
}
configure(consumer) {
if (ServerModule._config.enableSecurity) {
consumer.apply(SecurityMiddleware).exclude({ path: "/nestro/services", method: RequestMethod.GET }, { path: "/nestro/dashboard(.*)", method: RequestMethod.ALL }).forRoutes("/nestro/*");
}
}
};
ServerModule._config = {};
ServerModule = __decorateClass([
Module({})
], ServerModule);
export {
ServerModule
};
//# sourceMappingURL=server.module.js.map