Files
wxmp_backend/src/app.module.ts
T

54 lines
1.9 KiB
TypeScript

import { Module } from '@nestjs/common';
import { ConfigModule } from '@nestjs/config';
import { APP_GUARD } from '@nestjs/core';
import { validationSchema } from './config/validation.schema';
import { PrismaModule } from './prisma/prisma.module';
import { RedisModule } from './redis/redis.module';
import { JwtAuthGuard } from './common/guards/jwt-auth.guard';
import { WechatModule } from './wechat/wechat.module';
import { AuthModule } from './auth/auth.module';
import { UsersModule } from './users/users.module';
import { ProductsModule } from './products/products.module';
import { CategoriesModule } from './categories/categories.module';
import { DesignListModule } from './design-list/design-list.module';
import { AddressesModule } from './addresses/addresses.module';
import { OrdersModule } from './orders/orders.module';
import { PaymentsModule } from './payments/payments.module';
import { UploadModule } from './upload/upload.module';
import { WordCloudModule } from './wordcloud/wordcloud.module';
import { SketchModule } from './sketch/sketch.module';
import { QueueModule } from './queue/queue.module';
import { HealthModule } from './health/health.module';
@Module({
imports: [
ConfigModule.forRoot({
isGlobal: true,
// 直接读 env(已在 .env / 容器环境注入),用 configuration() 分组
load: [() => require('./config/configuration').default()],
validationSchema,
validationOptions: { abortEarly: false },
}),
PrismaModule,
RedisModule,
WechatModule,
AuthModule,
UsersModule,
ProductsModule,
CategoriesModule,
DesignListModule,
AddressesModule,
OrdersModule,
PaymentsModule,
UploadModule,
WordCloudModule,
SketchModule,
QueueModule,
HealthModule,
],
// 默认全局开启 JWT 鉴权,@Public() 路由除外
providers: [{ provide: APP_GUARD, useClass: JwtAuthGuard }],
})
export class AppModule {}