31 lines
1.2 KiB
TypeScript
31 lines
1.2 KiB
TypeScript
import { Module } from '@nestjs/common';
|
|
import { ConfigModule } from '@nestjs/config';
|
|
import { APP_FILTER, APP_INTERCEPTOR, APP_GUARD } from '@nestjs/core';
|
|
import { ApiModule } from './api/api.module';
|
|
import { InfrastructureModule } from './infrastructure/infrastructure.module';
|
|
import { ApplicationModule } from './application/application.module';
|
|
import { DomainExceptionFilter } from './shared/filters/domain-exception.filter';
|
|
import { TransformInterceptor } from './shared/interceptors/transform.interceptor';
|
|
import { LoggingInterceptor } from './shared/interceptors/logging.interceptor';
|
|
import { JwtAuthGuard } from './shared/guards/jwt-auth.guard';
|
|
|
|
@Module({
|
|
imports: [
|
|
ConfigModule.forRoot({
|
|
isGlobal: true,
|
|
envFilePath: [`.env.${process.env.NODE_ENV || 'development'}`, '.env'],
|
|
ignoreEnvFile: false,
|
|
}),
|
|
InfrastructureModule,
|
|
ApplicationModule,
|
|
ApiModule,
|
|
],
|
|
providers: [
|
|
{ provide: APP_FILTER, useClass: DomainExceptionFilter },
|
|
{ provide: APP_INTERCEPTOR, useClass: LoggingInterceptor },
|
|
{ provide: APP_INTERCEPTOR, useClass: TransformInterceptor },
|
|
{ provide: APP_GUARD, useClass: JwtAuthGuard },
|
|
],
|
|
})
|
|
export class AppModule {}
|