Perfil de Acesso
Lista perfis de acesso
Retorna os perfis de acesso (grupos de privilégios) ativos da empresa, ordenados pelo nome. Quando a empresa autenticada é a `all` (multi-conta), retorna os perfis de todas as empresas vinculadas.
Cadastra um perfil de acesso
Cria um perfil **vazio** para a empresa autenticada — só com o nome. Para atribuir os privilégios, chame em seguida `POST /user/privilege-group/{idprivilegegroup}/resource` com a lista de `IDUserPrivilege`. A resposta é o detalhe do perfil recém-criado, no formato de `GET /user/privilege-group/{idprivilegegroup}`.
Detalha um perfil com os privilégios atribuídos
Retorna os **privilégios atribuídos** ao perfil, agrupados por área do menu (`ModuleGroupDescription`) e, dentro de cada área, por módulo (`ModuleDescription`). **Não devolve** privilégios disponíveis que não foram atribuídos — a tela do frontend cruza este resultado com `GET /company/module` (catálogo completo) para mostrar os checkboxes marcados e desmarcados.
Renomeia um perfil de acesso
Atualiza **apenas o nome** do perfil (`PrivilegeGroupName`). Para alterar os privilégios atribuídos, use `POST /user/privilege-group/{idprivilegegroup}/resource`. A resposta é o detalhe do perfil atualizado (mesmo formato do `GET`).
Exclui (inativa) um perfil de acesso
Inativa o perfil (`UserPrivilegeGroupStatus = 0`) e **remove fisicamente** todos os vínculos com privilégios (`UserPrivilegeGroupResource`). A exclusão é **bloqueada** quando o perfil ainda está vinculado a algum usuário (`UserPrivilege`) — nesse caso é preciso primeiro desvincular o perfil de cada usuário em **Configurações → Usuários**.
Substitui a lista de privilégios do perfil
Sobrescreve a lista de privilégios atribuídos ao perfil — **não é incremento**. O body é um array com os identificadores (`IDUserPrivilege`) que devem ficar atribuídos: tudo que estava antes e não está no array é removido, tudo que está no array passa a ser atribuído.