src/config/admin-routes.ts
Versão: 1.0
Última atualização: 27/08/2025
Responsável: Ariel Spencer & Fabrício Bahiense
📋 Descrição
O que faz?
Configura e registra todas as rotas da API administrativa do NexusPlatform, organizando endpoints por entidades e aplicando middleware de autenticação onde necessário.
Por que existe?
Centraliza a configuração de rotas administrativas, separando rotas públicas (não autorizadas) das privadas (que exigem autenticação JWT), mantendo a organização modular do sistema.
Como funciona?
Recebe uma instância do Express e registra todas as rotas administrativas, aplicando middleware de autenticação JWT nas rotas protegidas e tratamento de erros global.
🔧 Documentação Técnica
Arquitetura
Express App → registerAdminRoutes() → Rotas Organizadas por Entidade
↓
Middleware de Auth + Error Handler
Tecnologias Utilizadas
- Runtime: Node.js com TypeScript
- Framework: Express.js
- Autenticação: JWT (JSON Web Tokens)
- Middleware: Custom auth e error handling
Estrutura de Pastas
backend/ # Projeto
└── src/ # Source
└── config/ # Configurações
└── admin-routes.ts # Registro de rotas admin
Endpoints/Rotas Principais
Rotas não autorizadas
- GET /api - Identificação da API
- /api/user - Rotas públicas de usuário (login, registro, etc.)
Rotas autorizadas com JWT
- /api/user - Operações autenticadas de usuários admins
- /api/campaign - Gerenciamento de campanhas
- /api/customer - Gerenciamento de clientes
- /api/dashboard - Dados do dashboard administrativos
📦 Dependências
Dependências Principais
|
Pacote |
Versão |
Finalidade |
|
Express |
^4.17.21 |
Interface de tipos do Express |
Serviços Externos
|
Serviço |
Finalidade |
Documentação |
|
authenticateJWTAdmin |
Autenticação JWT para admins |
[Link da doc] |
|
errorHandler |
Tratamento global de erros |
[Link da doc] |
Dependências Internas
- adminUserRoutes - Rotas autenticadas de usuários admin
- adminUserRoutesUnauthorized - Rotas públicas de usuários
- adminCampaignRoutes - Rotas de campanhas
- adminCustomerRoutes - Rotas de clientes
- adminDashboardRoutes - Rotas do dashboard
🚀 Deploy e Operação
Como usar
import express from 'express'
import { registerAdminRoutes } from './config/admin-routes'
const app = express()
registerAdminRoutes(app)
📚 Referências e Links Úteis
Última revisão: 27 de agosto de 2025 por Ariel Spencer