omnichannel-backend/src/app.module.ts
Rafael Lopes 59db214ed9
Some checks are pending
Deploy Dev / deploy (push) Waiting to run
FEAT: Implementada segurança JWT e controle de acesso
- Adicionado JwtAuthGuard global para validar tokens nas rotas privadas
- Adicionados decorators Public e Roles para separar rotas públicas e permissões
- Adicionado RolesGuard para proteger rotas administrativas por perfil
- Rotas privadas passam a exigir Authorization Bearer Token
- WebSocket do WhatsApp passa a exigir JWT no handshake
- Adicionado rate limit global com @nestjs/throttler
- Adicionado LoginDto e ValidationPipe para validar payload de login
- Extraído SQL de acesso do usuário para UserAccessRepository
- Melhorados logs de login LDAP/Microsoft sem expor dados sensíveis
2026-05-29 12:13:44 -03:00

32 lines
884 B
TypeScript

import { Module } from '@nestjs/common';
import { APP_GUARD } from '@nestjs/core';
import { ThrottlerGuard, ThrottlerModule } from '@nestjs/throttler';
import { AppController } from './app.controller';
import { DatabaseModule } from './infra/database/database.module';
import { AdminModule } from './modules/admin/admin.module';
import { AuthModule } from './modules/auth/auth.module';
import { WhatsappModule } from './modules/whatsapp/whatsapp.module';
@Module({
imports: [
ThrottlerModule.forRoot([
{
ttl: Number(process.env.RATE_LIMIT_TTL_MS || 60_000),
limit: Number(process.env.RATE_LIMIT_MAX || 300),
},
]),
DatabaseModule,
AuthModule,
AdminModule,
WhatsappModule,
],
controllers: [AppController],
providers: [
{
provide: APP_GUARD,
useClass: ThrottlerGuard,
},
],
})
export class AppModule {}