Files
sistema_base/apps/api/src/app.module.ts
2025-12-01 18:23:18 -04:00

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 { }