Pular para o conteúdo principal

Matriz Endpoint -> Flag

Este documento é a matriz viva de autorização do novo backend.

Regra:

  • Toda API em backend/api/** deve ter uma flag explícita quando executar ação sensível.
  • A UI pode ocultar botões com data-permission, mas a API sempre revalida no servidor.
  • Super-admin tem bypass total via backend_permission_user_can().

Convenção De Flags

Formato preferencial:

modulo.acao
modulo.recurso.acao

Exemplos:

usuarios.editar
propostas.criar
estabelecimentos.trocar_representante
white_label.gerenciar_taxas

Matriz Inicial

MóduloEndpoint/PáginaFlagStatus
Authbackend/api/auth/*login/sessãoPúblico ou sessão
Usuáriosbackend/api/usuarios/listar.phpusuarios.ver_todos / escopo próprioParcial
Usuáriosbackend/api/usuarios/atualizar-status.phpusuarios.aprovar ou usuarios.editarImplementado
Usuáriosbackend/api/usuarios/excluir.phpusuarios.excluirImplementado
Permissõesbackend/api/permissoes/usuarios.phpadmin.permissoes ou permissoes.gerenciar ou permissoes.editar + Política BImplementado
Permissõesbackend/api/permissoes/buscar.phpadmin.permissoes ou permissoes.gerenciar ou permissoes.editar + Política BImplementado
Permissõesbackend/api/permissoes/salvar.phpadmin.permissoes ou permissoes.gerenciar ou permissoes.editar + CSRF + Política BImplementado
White Labelbackend/api/white-label/salvar.phpwhite_label.cadastrarImplementado
White Labelbackend/api/white-label/atualizar.phpwhite_label.editarImplementado
White Labelbackend/api/white-label/taxas.phpwhite_label.gerenciar_taxasImplementado
Estabelecimentosbackend/api/estabelecimentos/trocar-representante.phpestabelecimentos.trocar_representanteImplementado
Comercialbackend/api/comercial/catalogo.phpcomercial.read + leads.read + módulo tenant ativoImplementado
Comercialbackend/api/comercial/dashboard.phpcomercial.read + leads.read + módulo tenant ativoImplementado
Comercialbackend/api/comercial/leads.phpleads.read + escopo read_all/próprio + módulo tenant ativoImplementado
Comercialbackend/api/comercial/salvar-lead.phpleads.create ou leads.update + CSRF + módulo tenant ativoImplementado
Comercialbackend/api/comercial/mudar-etapa.phpleads.stage.change + CSRF + regras de ganho/perdaImplementado
Comercialbackend/api/comercial/modulo-white-label.phpleads.admin + CSRFImplementado
Comercialbackend/api/comercial/detalhes.phpleads.read + escopo read_all/próprioImplementado
Comercialbackend/api/comercial/excluir-lead.phpleads.delete + CSRFImplementado
Comercialbackend/api/comercial/atividades.phpleads.activities.manage + CSRFImplementado
Comercialbackend/api/comercial/visitas.phpleads.visits.manage + CSRF em POSTImplementado
Comercialbackend/api/comercial/propostas.phpleads.proposals.manage + CSRFImplementado
Comercialbackend/api/comercial/routes.phpleads.routes.manage + CSRFImplementado
Comercialbackend/api/comercial/exportar-csv.phpleads.exportImplementado
Comercialbackend/api/comercial/importar-csv.phpleads.import + CSRFImplementado
Comercialbackend/api/comercial/configuracoes.phpleads.admin + CSRFImplementado
Comercialbackend/api/comercial/converter.phpleads.convert + CSRFImplementado
Comercialbackend/api/comercial/places-search.phpleads.import + plataformaPendente integração Google
Comercialbackend/api/comercial/places-import.phpleads.import + plataformaPendente integração Google
Comercialbackend/api/comercial/places-quota.phpleads.import leitura / leads.admin escrita + plataformaImplementado
Propostasbackend/api/propostas/salvar.phppropostas.criar / propostas.cadastrarImplementado
Propostasbackend/api/propostas/atualizar.phppropostas.editar / propostas.gerenciarImplementado
Propostasbackend/api/propostas/deletar.phppropostas.excluir / propostas.gerenciarImplementado
Assinaturasbackend/api/assinaturas/criar.phpassinaturas.criarImplementado
Assinaturasbackend/api/assinaturas/listar.phpassinaturas.visualizarImplementado
Financeirobackend/api/financeiro/alugueis/listar.phpescopo financeiroParcial
Transaçõesbackend/api/transacoes/listar.phptransacoes.visualizar / dashboard.ver_todosImplementado

Pendências Da Matriz

  • Revisar todos os endpoints em backend/api/**.
  • Trocar checagens manuais por backend_permission_require() ou backend_permission_require_any().
  • Definir flag única para cada listagem financeira.
  • Adicionar testes role x flag x escopo.