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'; import { CapabilityGuard } from './shared/guards/capability.guard'; // [2026-02-17] 新增:预种 CDC 集成模块(纯新增,与现有 CDC 消费零耦合) import { PrePlantingCdcModule } from './pre-planting/pre-planting-cdc.module'; @Module({ imports: [ ConfigModule.forRoot({ isGlobal: true, envFilePath: [ `.env.${process.env.NODE_ENV || 'development'}`, '.env', '../.env', // 父目录共享 .env ], ignoreEnvFile: false, }), InfrastructureModule, ApplicationModule, ApiModule, PrePlantingCdcModule, // 预种计划:独立 CDC consumer、独立 Prisma schema、1/10 算力、冻结调度 ], providers: [ { provide: APP_FILTER, useClass: DomainExceptionFilter, }, { provide: APP_INTERCEPTOR, useClass: LoggingInterceptor, }, { provide: APP_INTERCEPTOR, useClass: TransformInterceptor, }, { provide: APP_GUARD, useClass: JwtAuthGuard, }, { provide: APP_GUARD, useClass: CapabilityGuard, }, ], }) export class AppModule {}