|
|
import { CustomPrismaModule } from 'nestjs-prisma'; |
|
|
|
|
|
import { RedisModule } from '@liaoliaots/nestjs-redis'; |
|
|
import { Module } from '@nestjs/common'; |
|
|
import { APP_GUARD } from '@nestjs/core'; |
|
|
|
|
|
import { ConfigModule } from '@/common/config'; |
|
|
import { AuthGuard } from '@/common/guards/auth.guard'; |
|
|
import { JwtModule } from '@/libs/jwt/jwt.module'; |
|
|
import { AuthModule } from '@/modules/auth/auth.module'; |
|
|
import { ChatModule } from '@/modules/chat/chat.module'; |
|
|
import { DashboardModule } from '@/modules/dashboard/dashboard.module'; |
|
|
import { OrderModule } from '@/modules/order/order.module'; |
|
|
import { ProductModule } from '@/modules/product/product.module'; |
|
|
import { UserModule } from '@/modules/user/user.module'; |
|
|
import { ExtendedPrismaConfigService } from '@/processors/database/prisma.service'; |
|
|
|
|
|
import { AppController } from './app.controller'; |
|
|
import { AppService } from './app.service'; |
|
|
|
|
|
@Module({ |
|
|
imports: [ |
|
|
ConfigModule, |
|
|
CustomPrismaModule.forRootAsync({ |
|
|
name: 'PrismaService', |
|
|
useClass: ExtendedPrismaConfigService, |
|
|
isGlobal: true, |
|
|
}), |
|
|
RedisModule.forRoot({ |
|
|
config: { |
|
|
url: process.env.REDIS_URL, |
|
|
}, |
|
|
}), |
|
|
AuthModule, |
|
|
UserModule, |
|
|
ChatModule, |
|
|
OrderModule, |
|
|
JwtModule, |
|
|
DashboardModule, |
|
|
ProductModule, |
|
|
], |
|
|
controllers: [AppController], |
|
|
providers: [ |
|
|
AppService, |
|
|
{ |
|
|
provide: APP_GUARD, |
|
|
useClass: AuthGuard, |
|
|
}, |
|
|
], |
|
|
}) |
|
|
export class AppModule {} |
|
|
|