Logotipo Hedhog

Receba novidades do Hedhog no seu e-mail

Novos lançamentos, receitas e breaking changes — sem spam.

Voltar para os módulos CoreIntegrado no CoreModule
Captura de tela do módulo user

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

FieldTypeRequiredNotes
namestringyes
emailstringyesValid email address
passwordstringyesStrong password

Atualiza as informações de perfil de um usuário.

Params
userId (int)

Body

FieldTypeRequiredNotes
namestringno

Redefine a senha de um usuário como administrador.

Params
userId (int)

Body

FieldTypeRequiredNotes
passwordstringnoStrong password

Faz upload ou substitui o avatar de um usuário.

Params
userId (int)

Body

FieldTypeRequiredNotes
fileFileyesImage 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

FieldTypeRequiredNotes
idsnumber[]yesIDs to delete

Lista as roles atribuídas a um usuário.

Params
userId (int)

Lista as entradas de menu acessíveis 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.me

    Retorna o registro completo do usuário autenticado atual

  • core.users.list

    Lista todos os usuários com paginação e busca

  • core.users.get

    Obtém um usuário pelo ID

  • core.users.create

    Cria um novo usuário

  • core.users.update

    Atualiza as informações de um usuário existente

  • core.users.reset-password

    Envia um link de redefinição de senha para um usuário

  • core.users.delete

    Exclui um ou mais usuários

  • core.users.roles

    Lista as roles atribuídas a um usuário

  • core.users.menus

    Lista as entradas de menu acessíveis a um usuário

  • core.users.routes

    Lista as rotas que o usuário tem permissão para acessar

  • core.users.assign-role

    Atribui uma role a um usuário

  • core.users.remove-role

    Remove uma role de um usuário

  • core.users.verify-identifier

    Verifica um token de identidade ou identificador de usuário