import { MiddlewareConsumer, Module, NestModule } from '@nestjs/common'; import { ConfigModule } from '@nestjs/config'; import { AuditModule } from './audit/audit.module'; import { AuthModule } from './auth/auth.module'; import { SessionValidationMiddleware } from './auth/session-validation.middleware'; import { RequestContextMiddleware } from './common/request-context.middleware'; import { BillingModule } from './billing/billing.module'; import { ChannelsModule } from './channels/channels.module'; import { CertificationModule } from './certification/certification.module'; import { DictionariesModule } from './dictionaries/dictionaries.module'; import { FilesModule } from './files/files.module'; import { HealthController } from './health.controller'; import { OperationsModule } from './operations/operations.module'; import { PrismaModule } from './prisma/prisma.module'; import { RiskReviewModule } from './risk-review/risk-review.module'; import { SendChainModule } from './send-chain/send-chain.module'; import { SmsConfigModule } from './sms-config/sms-config.module'; import { TenantsModule } from './tenants/tenants.module'; import { UsersModule } from './users/users.module'; @Module({ imports: [ ConfigModule.forRoot({ isGlobal: true, envFilePath: ['.env.local', '.env'], }), PrismaModule, AuthModule, TenantsModule, UsersModule, AuditModule, FilesModule, DictionariesModule, BillingModule, CertificationModule, SmsConfigModule, ChannelsModule, RiskReviewModule, SendChainModule, OperationsModule, ], controllers: [HealthController], providers: [RequestContextMiddleware, SessionValidationMiddleware], }) export class AppModule implements NestModule { configure(consumer: MiddlewareConsumer) { consumer.apply(RequestContextMiddleware, SessionValidationMiddleware).forRoutes('*'); } }