Vendored
+36
@@ -10,6 +10,12 @@ exports.AppModule = void 0;
|
||||
const common_1 = require("@nestjs/common");
|
||||
const config_1 = require("@nestjs/config");
|
||||
const identity_module_1 = require("./modules/identity/identity.module");
|
||||
const auth_module_1 = require("./modules/auth/auth.module");
|
||||
const health_module_1 = require("./modules/health/health.module");
|
||||
const authorization_module_1 = require("./modules/authorization/authorization.module");
|
||||
const audit_module_1 = require("./modules/audit/audit.module");
|
||||
const application_module_1 = require("./modules/application/application.module");
|
||||
const debt_module_1 = require("./modules/bot-debt/debt.module");
|
||||
let AppModule = class AppModule {
|
||||
};
|
||||
exports.AppModule = AppModule;
|
||||
@@ -18,8 +24,38 @@ exports.AppModule = AppModule = __decorate([
|
||||
imports: [
|
||||
config_1.ConfigModule.forRoot({
|
||||
isGlobal: true,
|
||||
// Load .env files depending on NODE_ENV. Default to development .env
|
||||
envFilePath: process.env.NODE_ENV === 'production' ? '.env.production' : '.env',
|
||||
// Basic validation: ensure expected frontend URLs and OIDC settings are present
|
||||
validate: (env) => {
|
||||
const errors = [];
|
||||
const nodeEnv = env.NODE_ENV || process.env.NODE_ENV || 'development';
|
||||
if (!env.FRONTEND_URL)
|
||||
errors.push('FRONTEND_URL is not set');
|
||||
if (nodeEnv === 'production' && !env.PRODUCTION_FRONTEND_URL)
|
||||
errors.push('PRODUCTION_FRONTEND_URL is not set');
|
||||
// OIDC required settings
|
||||
if (!env.AUTHENTIK_ISSUER)
|
||||
errors.push('AUTHENTIK_ISSUER is not set');
|
||||
if (!env.AUTHENTIK_CLIENT_ID)
|
||||
errors.push('AUTHENTIK_CLIENT_ID is not set');
|
||||
if (!env.AUTHENTIK_CLIENT_SECRET)
|
||||
errors.push('AUTHENTIK_CLIENT_SECRET is not set');
|
||||
if (!env.AUTHENTIK_REDIRECT_URI)
|
||||
errors.push('AUTHENTIK_REDIRECT_URI is not set');
|
||||
if (errors.length > 0)
|
||||
throw new Error('Environment validation error: ' + errors.join('; '));
|
||||
return env;
|
||||
},
|
||||
}),
|
||||
identity_module_1.IdentityModule,
|
||||
auth_module_1.AuthModule,
|
||||
health_module_1.HealthModule,
|
||||
// Authorization module provides permission checks and cache
|
||||
authorization_module_1.AuthorizationModule,
|
||||
audit_module_1.AuditModule,
|
||||
application_module_1.ApplicationModule,
|
||||
debt_module_1.DebtModule,
|
||||
],
|
||||
})
|
||||
], AppModule);
|
||||
|
||||
Reference in New Issue
Block a user