2 Rotas e Protecao
Rafael Lopes edited this page 2026-06-02 09:08:14 -03:00

Rotas e Protecao

Rotas principais

Arquivo:

src/routes/router.jsx

Rotas:

Rota Tela Protegida Perfis
/ redireciona para /login nao publico
/login LoginPage nao publico
/home ProfileHomePage sim autenticado
/chat ChatPage sim autenticado
/call CallPage sim autenticado
/new-attendance AgentNewAttendancePage sim autenticado
/mass-message AgentMassMessagePage sim autenticado
/contacts ContactsPage sim autenticado
/admin/whatsapp WhatsappAdminPage sim admin

ProtectedRoute

Arquivo:

src/routes/ProtectedRoute.jsx

Responsabilidade:

  • verificar se existe authToken e authUser em sessionStorage;
  • validar se o JWT ainda esta dentro do prazo pelo campo exp;
  • redirecionar para /login quando nao houver sessao;
  • preservar a rota de origem em state.from para voltar apos login;
  • redirecionar para /home quando a rota exigir um perfil que o usuario nao tem;
  • impedir que /home renderize telas mockadas sem login.

Resolucao de perfil

Arquivo:

src/modules/auth/services/sessionService.js

O perfil e calculado a partir de dados reais retornados pelo backend:

  • perfis;
  • profiles;
  • perfil;
  • role;
  • accessStatus.

Fallbacks de demo por username foram removidos.

Comportamento esperado

Sem login:

/home -> /login
/chat -> /login
/admin/whatsapp -> /login

Com login:

Admin      -> painel administrativo
Supervisor -> painel operacional
Agente     -> painel do atendente
Unassigned -> tela aguardando configuracao