import { Module } from '@nestjs/common'; import { ConfigModule } from '@nestjs/config'; import { APP_FILTER, APP_INTERCEPTOR } from '@nestjs/core'; import { ApiModule } from './api/api.module'; import { ApplicationModule } from './application/application.module'; import { InfrastructureModule } from './infrastructure/infrastructure.module'; import { DomainModule } from './domain/domain.module'; import { GlobalExceptionFilter } from './shared/filters/global-exception.filter'; import { AuditLogInterceptor } from './shared/interceptors/audit-log.interceptor'; import configuration from './config'; @Module({ imports: [ ConfigModule.forRoot({ isGlobal: true, load: [configuration], envFilePath: ['.env', '.env.development', '.env.local'], }), DomainModule, InfrastructureModule, ApplicationModule, ApiModule, ], providers: [ { provide: APP_FILTER, useClass: GlobalExceptionFilter, }, { provide: APP_INTERCEPTOR, useClass: AuditLogInterceptor, }, ], }) export class AppModule {}