feat: Call Center > Agentes + Telefonia > Dialplan (novo endpoint GET /users)
Fecha a lacuna de backend que travava Agentes: POST /agents exigia um userId de um usuário já existente do tenant, mas não havia nenhum endpoint pra listar usuários. Novo GET /users (gated por users.manage, não agents.manage — listar identidade de login é administração de usuário) via TenantMembership, mesmo padrão de RLS já usado em listUserTenants. Duas telas novas: Call Center > Agentes (criar/listar/remover, seletor de usuário só mostra quem ainda não é agente) e Telefonia > Dialplan (editor estruturado do contexto default — regras com condição/ações dinâmicas, painel de Versões com gerar/ativar, reativar versão antiga = rollback). Testado ponta a ponta contra a API real do tenant Acme, incluindo o ciclo completo de dialplan (criar regra -> gerar v1 -> ativar -> badge "Ativa"). Smoke test de regressão nas 13 telas anteriores do tenant + platform. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BFaBaBSQGhyXGEgtTYZGV8
|
After Width: | Height: | Size: 79 KiB |
BIN
apps/frontend/.impeccable/review/agentes-empty-desktop.png
Normal file
|
After Width: | Height: | Size: 79 KiB |
BIN
apps/frontend/.impeccable/review/agentes-form-desktop.png
Normal file
|
After Width: | Height: | Size: 97 KiB |
BIN
apps/frontend/.impeccable/review/agentes-with-data-desktop.png
Normal file
|
After Width: | Height: | Size: 90 KiB |
BIN
apps/frontend/.impeccable/review/dialplan-empty-desktop.png
Normal file
|
After Width: | Height: | Size: 99 KiB |
BIN
apps/frontend/.impeccable/review/dialplan-form-desktop.png
Normal file
|
After Width: | Height: | Size: 119 KiB |
|
After Width: | Height: | Size: 104 KiB |
|
After Width: | Height: | Size: 104 KiB |
BIN
apps/frontend/.impeccable/review/dialplan-with-data-desktop.png
Normal file
|
After Width: | Height: | Size: 103 KiB |