Commit Graph

5 Commits

Author SHA1 Message Date
4ab3af503b FEAT: Adiciona camada de storage de mídia (LocalDiskAdapter)
Some checks failed
Deploy Dev / deploy (push) Has been cancelled
- MediaStorageService com interface upload/getUrl/delete
- LocalDiskAdapter salva em /uploads/media/ com UUID + extensão por mimetype
- Cria o diretório automaticamente no boot
- BASE_URL adicionado ao .env.example
- MediaStorageService e LocalDiskAdapter registrados no WhatsappModule
2026-07-21 09:47:44 -03:00
59db214ed9 FEAT: Implementada segurança JWT e controle de acesso
Some checks are pending
Deploy Dev / deploy (push) Waiting to run
- 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
e000d5dc9c PERF: Validações de variaveis são realizadas antes da inicação da aplicação. Removido arquivo inutilizado 2026-05-28 16:03:49 -03:00
5bd13e30f1 FEAT: Implementa módulo de autenticação com JWT
* 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
2026-05-08 17:10:50 -03:00
6ed7c7e86d Initial commit 2026-03-31 18:05:19 -03:00