Receba novidades do Hedhog no seu e-mail
Novos lançamentos, receitas e breaking changes — sem spam.

Submódulo Core
user
Gerencia usuários, avatares e atribuições de role/menu/rota.
Caminho de origem: libraries/core/src/user
Arquivo do módulo: user.module.ts
Introdução
O submódulo User cuida do lado administrativo do gerenciamento de contas de usuário: criação, atualização de perfil, tratamento de avatar, atribuição de roles, inspeção de permissões e verificação de identificadores. Ele é intencionalmente separado do submódulo Profile, que trata das operações de autoatendimento realizadas por usuários autenticados em suas próprias contas, aplicando o princípio do menor privilégio na fronteira da API.
Administradores com a role admin ou admin-user podem criar novas contas com nome, e-mail e senha inicial. As atualizações de conta permitem alterar o nome de exibição. As redefinições de senha definem uma nova senha em nome do usuário sem exigir a senha atual, o que é útil para contas bloqueadas e fluxos de onboarding em que a credencial inicial precisa ser redefinida imediatamente. A exclusão via DELETE /user remove as contas permanentemente, sem opção de soft-delete.
Os avatares de usuário são armazenados por meio do submódulo File. POST /user/:userId/avatar aceita uma imagem multipart, a armazena e vincula o registro de File resultante ao usuário. O avatar fica então publicamente acessível em GET /user/avatar/:fileId sem autenticação, permitindo o embedding em templates de e-mail, perfis públicos e integrações de terceiros. Os donos do perfil também podem gerenciar seu próprio avatar por meio de PUT /profile/avatar no submódulo Profile.
A atribuição de roles pode ser gerenciada pelo lado do usuário: POST /user/:userId/role/:roleId atribui uma única role e DELETE /user/:userId/role/:roleId a revoga. GET /user/:userId/role lista todas as roles que um usuário possui no momento. Esses endpoints complementam a abordagem de substituição em lote do submódulo Role — ambos os caminhos gravam na mesma tabela de junção e podem ser usados de forma intercambiável.
Os endpoints de inspeção de permissões GET /user/:userId/menu e GET /user/:userId/route retornam o conjunto efetivo de entradas de menu e rotas HTTP acessíveis a um usuário específico, calculado a partir da união de todas as roles atribuídas. Eles são usados pelo painel de administração para exibir um resumo preciso do que um usuário pode fazer, sem exigir que o administrador una manualmente várias definições de role.
Os identificadores de usuário (endereços de e-mail) passam por um fluxo de verificação por padrão. POST /user/:userId/verify-identifier/:identifierId permite que administradores marquem à força um identificador como verificado, ignorando a etapa de confirmação por e-mail. Isso é útil para semear usuários de teste, migrar contas de sistemas legados ou resolver escalonamentos de suporte em que o usuário não consegue acessar o e-mail de verificação.
Endpoints HTTP
14 endpoints
Lista todos os usuários com paginação.
- Query
- page, pageSize, search
Obtém os detalhes de um usuário pelo ID.
- Params
- userId (int)
Serve publicamente a imagem de avatar de um usuário.
- Params
- fileId (int)
Cria uma nova conta de usuário.
Body
| Field | Type | Required | Notes |
|---|---|---|---|
| name | string | yes | — |
| string | yes | Valid email address | |
| password | string | yes | Strong password |
Atualiza as informações de perfil de um usuário.
- Params
- userId (int)
Body
| Field | Type | Required | Notes |
|---|---|---|---|
| name | string | no | — |
Redefine a senha de um usuário como administrador.
- Params
- userId (int)
Body
| Field | Type | Required | Notes |
|---|---|---|---|
| password | string | no | Strong password |
Faz upload ou substitui o avatar de um usuário.
- Params
- userId (int)
Body
| Field | Type | Required | Notes |
|---|---|---|---|
| file | File | yes | Image file, multipart/form-data |
Força a verificação de um identificador de usuário (por exemplo, e-mail) como administrador.
- Params
- userId (int), identifierId (int)
Exclui uma ou mais contas de usuário.
Body
| Field | Type | Required | Notes |
|---|---|---|---|
| ids | number[] | yes | IDs to delete |
Lista as roles atribuídas a um usuário.
- Params
- userId (int)
Lista as rotas acessíveis a um usuário.
- Params
- userId (int)
Atribui uma role a um usuário.
- Params
- userId (int), roleId (int)
Remove uma role de um usuário.
- Params
- userId (int), roleId (int)
Ferramentas MCP
Ferramentas nomeadas que podem ser chamadas por modelos de IA através do Model Context Protocol (MCP).
core.users.meRetorna o registro completo do usuário autenticado atual
core.users.listLista todos os usuários com paginação e busca
core.users.getObtém um usuário pelo ID
core.users.createCria um novo usuário
core.users.updateAtualiza as informações de um usuário existente
core.users.reset-passwordEnvia um link de redefinição de senha para um usuário
core.users.deleteExclui um ou mais usuários
core.users.rolesLista as roles atribuídas a um usuário
core.users.menusLista as entradas de menu acessíveis a um usuário
core.users.routesLista as rotas que o usuário tem permissão para acessar
core.users.assign-roleAtribui uma role a um usuário
core.users.remove-roleRemove uma role de um usuário
core.users.verify-identifierVerifica um token de identidade ou identificador de usuário