70 lines
2.2 KiB
TypeScript
70 lines
2.2 KiB
TypeScript
import { Module } from '@nestjs/common';
|
|
import { ConfigModule } from '@nestjs/config';
|
|
import { APP_GUARD, APP_INTERCEPTOR, APP_FILTER } from '@nestjs/core';
|
|
import { PrismaModule } from './prisma/prisma.module';
|
|
import { AuthModule } from './auth/auth.module';
|
|
import { UsersModule } from './users/users.module';
|
|
import { RolesModule } from './roles/roles.module';
|
|
import { PermissionsModule } from './permissions/permissions.module';
|
|
import { MenusModule } from './menus/menus.module';
|
|
import { DictModule } from './dict/dict.module';
|
|
import { ConfigModule as SystemConfigModule } from './config/config.module';
|
|
import { LogsModule } from './logs/logs.module';
|
|
import { TenantsModule } from './tenants/tenants.module';
|
|
import { SchoolModule } from './school/school.module';
|
|
import { ContestsModule } from './contests/contests.module';
|
|
import { JwtAuthGuard } from './auth/guards/jwt-auth.guard';
|
|
import { RolesGuard } from './auth/guards/roles.guard';
|
|
import { TransformInterceptor } from './common/interceptors/transform.interceptor';
|
|
import { LoggingInterceptor } from './common/interceptors/logging.interceptor';
|
|
import { HttpExceptionFilter } from './common/filters/http-exception.filter';
|
|
|
|
@Module({
|
|
imports: [
|
|
ConfigModule.forRoot({
|
|
isGlobal: true,
|
|
// envFilePath 指定配置文件路径
|
|
// 如果需要后备文件,可以取消下面的注释,但要注意 .env 会覆盖 .development.env 的值
|
|
envFilePath: [
|
|
'.env',
|
|
`.env.${process.env.NODE_ENV || 'development'}`, // 优先加载
|
|
],
|
|
}),
|
|
PrismaModule,
|
|
AuthModule,
|
|
UsersModule,
|
|
RolesModule,
|
|
PermissionsModule,
|
|
MenusModule,
|
|
DictModule,
|
|
SystemConfigModule,
|
|
LogsModule,
|
|
TenantsModule,
|
|
SchoolModule,
|
|
ContestsModule,
|
|
],
|
|
providers: [
|
|
{
|
|
provide: APP_GUARD,
|
|
useClass: JwtAuthGuard,
|
|
},
|
|
{
|
|
provide: APP_GUARD,
|
|
useClass: RolesGuard,
|
|
},
|
|
{
|
|
provide: APP_INTERCEPTOR,
|
|
useClass: LoggingInterceptor, // 日志拦截器,先执行
|
|
},
|
|
{
|
|
provide: APP_INTERCEPTOR,
|
|
useClass: TransformInterceptor, // 响应转换拦截器
|
|
},
|
|
{
|
|
provide: APP_FILTER,
|
|
useClass: HttpExceptionFilter,
|
|
},
|
|
],
|
|
})
|
|
export class AppModule {}
|