Skip to content

Funções (Roles)

Pré-requisitos de acesso

  • Permissão (módulo): manageRoles
  • Licença/Feature: Nenhuma
  • Contêiner do menu: GERAL → grupo Usuários

O que é / quando usar

Tela de definição das Funções (roles) do BackOffice. Uma Função é um conjunto nomeado de módulos (áreas/ações). Aqui você cria, edita, visualiza e exclui roles e escolhe quais módulos cada uma libera. As roles criadas aqui são depois atribuídas a administradores em Permissões do usuário. Use ao montar perfis de acesso (ex.: "Atendimento", "Financeiro", "Compliance").

Pré-condições

  • Permissão: manageRoles (enum CPM + módulo dinâmico no DB).
  • Licença/Feature: nenhuma.
  • Dependências: os Módulos disponíveis para seleção vêm do catálogo gerenciado em Módulos de permissão — um módulo só pode ser atribuído a uma role se existir nesse catálogo.

Passo a passo

  1. Acesse o menu Usuários → Funções (/users/roles).
  2. Use a busca por nome para localizar uma role.
  3. Clique em Adicionar para criar; ou nos ícones de visualizar/editar/excluir na linha.
  4. No diálogo: dê um nome à função e mova os módulos entre Disponíveis e Atribuídos (clique no módulo para alternar).
  5. Salve (criar) ou Editar/Salvar (existente).

Campos (diálogo de Função)

CampoO que éObrigatório?Efeito no sistema/backend
NomeNome da funçãoSimIdentifica a role; salvo via addRoles/editUser (CPM-RoleController). Necessário para confirmar
Módulos atribuídosConjunto de módulos liberados pela roleSim (ao menos 1)Define o que o admin com essa role enxerga e executa. Salvo em roles.modules. A UI usa as flags para liberar botões (*appHasPermission) e o backend usa o enum para validar as rotas

O diálogo aceita roles em dois formatos de modules (array legado [{id, module, description}] ou objeto { "viewUsers": true }) e normaliza para a lista exibida, preservando chaves fora do catálogo no save para não perdê-las.

Módulos mais usados (referência)

A lista completa vem do catálogo de Módulos. Exemplos de chaves e o que liberam:

MóduloLibera
adminAcesso administrativo amplo (guards de várias telas)
viewUsers / viewUserLista e detalhes de usuários
manageRolesEsta tela e Permissões do usuário
manageTokenTokenização, NFTs, coleções, detentores, pacotes
viewPayments / viewWithdrawalsPagamentos manuais / saques
viewGeneralJournalTransações gerais / receitas da plataforma
manageDividendsDistribuição financeira
sendBalanceCrédito/débito manual de saldo
manualUserAllocationAlocação manual em nome do usuário
getPrivateWalletVisualizar chave privada

Ações e modais

  • Adicionar / Editar: abre o diálogo de função. Visualizar abre em modo leitura, com opção de alternar para edição.
  • Excluir: remove a função (bottom-sheet de confirmação). Excluir uma role em uso deixa os admins associados sem aquele conjunto de módulos — reatribua antes.

Regras de negócio / cuidados

Atenção

  • Uma Função sem módulos não pode ser salva (mínimo 1 módulo + nome).
  • Permissão é dupla. Adicionar um módulo à role aqui só surte efeito se a chave também existir no enum CPM (backend) e no catálogo de Módulos (DB). Módulos "fantasma" (chave sem catálogo) ficam preservados, mas não liberam ação nova até serem cadastrados nos dois lados.
  • Tratar a concessão de módulos sensíveis (admin, sendBalance, manualUserAllocation, getPrivateWallet, panicButton) com o princípio do menor privilégio.

Telas relacionadas