54 lines
1.9 KiB
TypeScript
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 {}
|