safeLoad(); } error_reporting(E_ALL); $app = new App(); $authJwt = new JwtAuthMiddleware(); // Rotas versionadas sob /v1 para permitir evolução sem quebrar clientes existentes. $app->get('/v1/me', $authJwt, \Controllers\MeController::class); $app->post('/v1/me/change-password', $authJwt, \Controllers\MeChangePasswordController::class); $app->get('/v1/dashboard/overview', $authJwt, \Controllers\DashboardOverviewController::class); $app->get('/v1/interactions', $authJwt, \Controllers\InteractionsController::class); $app->get('/v1/interactions/details', $authJwt, \Controllers\InteractionDetailsController::class); $app->get('/v1/analytics/sentiment/dashboard', $authJwt, \Controllers\AnalyticsSentimentDashboardController::class); $app->get('/v1/personas/overview', $authJwt, \Controllers\PersonasOverviewController::class); $app->get('/v1/evolution/overview', $authJwt, \Controllers\EvolutionOverviewController::class); $app->get('/v1/executive/dashboard', $authJwt, \Controllers\ExecutiveDashboardController::class); $app->get('/v1/agents', $authJwt, \Controllers\AgentsController::class); $app->get('/v1/sla/configs', $authJwt, \Controllers\SlaConfigsController::class); $app->get('/v1/sla/live-status', $authJwt, \Controllers\SlaLiveStatusController::class); $app->post('/v1/login', \Controllers\LoginController::class); // Registro exige autenticação: o novo usuário herda o company_id do solicitante. $app->post('/v1/register', $authJwt, \Controllers\RegisterController::class); $app->post('/v1/sla/configs', $authJwt, \Controllers\SlaSaveConfigController::class); $app->post('/v1/agents', $authJwt, \Controllers\AgentSaveController::class); $app->post('/v1/agents/status', $authJwt, \Controllers\AgentStatusController::class); $app->post('/v1/agents/escalation', $authJwt, \Controllers\AgentEscalationController::class); $app->run();