ec-nest/src/app.module.ts
2026-10-10 21:13:35 +08:00

45 lines
1.7 KiB
TypeScript

import { Module } from '@nestjs/common';
import { APP_FILTER, APP_GUARD, APP_INTERCEPTOR } from '@nestjs/core';
import { PrismaModule } from './prisma/prisma.module.js';
import { AuthModule } from './auth/auth.module.js';
import { JwtAuthGuard } from './auth/jwt-auth.guard.js';
import { PermissionsGuard } from './auth/permissions.guard.js';
import { RequestContextInterceptor } from './auth/request-context.interceptor.js';
import { TransformInterceptor } from './common/interceptors/transform.interceptor.js';
import { AllExceptionsFilter } from './common/filters/http-exception.filter.js';
import { TenantsModule } from './tenants/tenants.module.js';
import { UsersModule } from './users/users.module.js';
import { RolesModule } from './roles/roles.module.js';
import { ResourcesModule } from './resources/resources.module.js';
import { OrgsModule } from './orgs/orgs.module.js';
import { DictsModule } from './dicts/dicts.module.js';
import { ConfigsModule } from './configs/configs.module.js';
import { LogsModule } from './logs/logs.module.js';
import { AppController } from './app.controller.js';
import { AppService } from './app.service.js';
@Module({
imports: [
PrismaModule,
AuthModule,
TenantsModule,
UsersModule,
RolesModule,
ResourcesModule,
OrgsModule,
DictsModule,
ConfigsModule,
LogsModule,
],
controllers: [AppController],
providers: [
AppService,
{ provide: APP_GUARD, useClass: JwtAuthGuard },
{ provide: APP_GUARD, useClass: PermissionsGuard },
{ provide: APP_INTERCEPTOR, useClass: RequestContextInterceptor },
{ provide: APP_INTERCEPTOR, useClass: TransformInterceptor },
{ provide: APP_FILTER, useClass: AllExceptionsFilter },
],
})
export class AppModule {}