- 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
- Aumento do limite de payload no NestJS para 50MB (json/urlencoded) permitindo upload de mídias em base64 sem erros de 'PayloadTooLarge'.
- Criação de mecanismo de 'Smart Name Resolution' e 'Auto-Reparação' reativa para evitar que nomes de contatos sejam sobrescritos por JIDs numéricos, consultando o Puppeteer em segundo plano.
- Correção de erro na atribuição de chats (/whatsapp/assign) onde 'area_id' nulo violava restrição 'NOT NULL' do PostgreSQL, agora exigindo o ID inteiro correspondente.
* Bootstrap da aplicação com NestJS + TypeScript
* Migração de Node.js puro + JavaScript para NestJS como framework
* Estrutura base: AppModule, AppController, health check em /health
* loadEnv com busca hierárquica de .env por ambiente
* Módulo auth completo com arquitetura em camadas:
- AuthController: rotas HTTP de autenticação
- AuthService: fachada de negócio
- AuthConfigService: leitura centralizada de variáveis de ambiente
- AuthTokenService: emissão de JWT próprio da aplicação
* Autenticação via LDAP/Active Directory com ldapts
* Autenticação via Microsoft OAuth 2.0 (Entra ID)
* Proteção CSRF no fluxo OAuth com HMAC state assinado
* Endpoint /auth/config para o frontend descobrir provedores ativos
* Documentação do módulo em docs/auth.md