68 lines
1.9 KiB
TypeScript
68 lines
1.9 KiB
TypeScript
import { JwtAuthGuard, RolesGuard } from '@/common/guards';
|
|
import {
|
|
LoggerModule,
|
|
NodeMailerModule,
|
|
ThrottleModule,
|
|
} from '@/common/modules';
|
|
import { UsersModule } from '@/features/users/users.module';
|
|
import { Module } from '@nestjs/common';
|
|
import { ConfigModule } from '@nestjs/config';
|
|
import { APP_GUARD } from '@nestjs/core';
|
|
import { JwtModule } from '@nestjs/jwt';
|
|
import { ThrottlerGuard } from '@nestjs/throttler';
|
|
import { DrizzleModule } from './database/drizzle.module';
|
|
import { AuthModule } from './features/auth/auth.module';
|
|
import { ConfigurationsModule } from './features/configurations/configurations.module';
|
|
import { LocationModule } from './features/location/location.module'
|
|
import { MailModule } from './features/mail/mail.module';
|
|
import { RolesModule } from './features/roles/roles.module';
|
|
import { UserRolesModule } from './features/user-roles/user-roles.module';
|
|
import { SurveysModule } from './features/surveys/surveys.module';
|
|
import { InventoryModule } from './features/inventory/inventory.module';
|
|
import { TrainingModule } from './features/training/training.module';
|
|
|
|
@Module({
|
|
providers: [
|
|
{
|
|
provide: APP_GUARD,
|
|
useClass: JwtAuthGuard,
|
|
},
|
|
{
|
|
provide: APP_GUARD,
|
|
useClass: RolesGuard,
|
|
},
|
|
// {
|
|
// provide: APP_GUARD,
|
|
// useClass: PermissionsGuard,
|
|
// },
|
|
{
|
|
provide: APP_GUARD,
|
|
useClass: ThrottlerGuard,
|
|
},
|
|
],
|
|
imports: [
|
|
JwtModule.register({
|
|
global: true,
|
|
}),
|
|
ConfigModule.forRoot({
|
|
isGlobal: true,
|
|
//validate: validateEnv,
|
|
}),
|
|
NodeMailerModule,
|
|
LoggerModule,
|
|
ThrottleModule,
|
|
UsersModule,
|
|
AuthModule,
|
|
MailModule,
|
|
DrizzleModule,
|
|
RolesModule,
|
|
UserRolesModule,
|
|
ConfigurationsModule,
|
|
SurveysModule,
|
|
LocationModule,
|
|
InventoryModule,
|
|
TrainingModule
|
|
],
|
|
})
|
|
export class AppModule { }
|