Skip to content

fix: corrigir identificadores de usuários com prefixo - #405

Merged
masakik merged 2 commits into
uspdev:masterfrom
DudsFerraz:fix/resolve-prefixed-user-identifiers
Sep 10, 2026
Merged

masakik merged 2 commits into
uspdev:masterfrom
DudsFerraz:fix/resolve-prefixed-user-identifiers

Conversation

@DudsFerraz

Copy link
Copy Markdown
Contributor

Contexto

Ao adicionar um gerente a um setor, identificadores como codpes-17971882
ou id-1 eram enviados diretamente ao Replicado. Isso causava um
TypeError, pois a biblioteca espera um int.

Solução

  • Centraliza a resolução de identificadores em User.
  • Converte codpes-* para inteiro antes de consultar o Replicado.
  • Resolve id-* diretamente na base local.
  • Mantém compatibilidade com números sem prefixo.
  • Atualiza os fluxos de setores, filas, chamados e usuários.
  • Mantém compatibilidade com o campo legado codpes das filas.
  • Adiciona validações e testes de regressão.

Centraliza a resolução de identificadores codpes-* e id-*.

Garante que o Replicado receba o codpes como inteiro e preserva a compatibilidade com identificadores numéricos antigos.

Atualiza os fluxos de setores, filas, chamados e usuários e adiciona testes de regressão.
Copilot AI lite review requested due to automatic review settings September 9, 2026 19:50

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

As mudanças principais estão cobertas por testes e a lógica de resolução/validação ficou centralizada; os pontos levantados são ajustes menores de nomenclatura/documentação.

Pull request overview

Este PR corrige o envio de identificadores de usuário com prefixo (codpes-* / id-*) para o Replicado (que espera int), centralizando a resolução desses identificadores no model User e atualizando os fluxos que adicionam pessoas em setores/filas/chamados/usuários.

Changes:

  • Adiciona User::obterOuCriarPorIdentificador() e regras reutilizáveis de validação (User::identificadorRules) para aceitar codpes-*, id-* e números sem prefixo.
  • Atualiza controllers (Setor/Fila/Chamado/User) para validar e resolver identificadores via o método centralizado.
  • Adiciona testes de regressão cobrindo resolução de identificadores, compatibilidade com legado e integração com Replicado via mock.
File summaries
File Description
tests/Unit/UserIdentifierTest.php Testes de regressão para identificadores com/sem prefixo e cenários de setores/filas/chamados/users.
app/Models/User.php Centraliza parsing/resolução do identificador e garante codpes como int ao criar.
app/Http/Controllers/UserController.php Valida codpes e resolve via identificador, retornando erro quando não encontrado.
app/Http/Controllers/SetorController.php Valida e resolve identificador ao vincular gerente ao setor.
app/Http/Controllers/FilaController.php Mantém compatibilidade com campo legado (codpes) e resolve identificador centralmente.
app/Http/Controllers/ChamadoController.php Reusa regras centralizadas e resolve identificador de pessoa vinculada ao chamado.
Review details
  • Files reviewed: 6/6 changed files
  • Comments generated: 2
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment on lines 540 to 543
$request->validate(
[
'codpes' => ['required', 'regex:/^((codpes|id)-)?\d+$/'],
'codpes' => User::identificadorRules,
'papel' => 'required|in:' . implode(',', Chamado::pessoaPapeis()),
Comment thread tests/Unit/UserIdentifierTest.php Outdated
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
@masakik
masakik merged commit 5d5f19c into uspdev:master Sep 10, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants