Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

PUT user-profile returns 500 when user_id is missing from the payload

Aberta Para iniciantes
#3,911 0 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 2 dias

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
1/5
Tempo estimado
1-3 horas
Facilidade para iniciantes
88/100
Tipo de issue
Bug
Clareza
Claramente especificada
Status de atividade
Ativa
Stack de tecnologia
python
Domínio
api

Direção de pesquisa

O bug está em update_user_profile em policyengine_api/routes/user_profile_routes.py, onde payload.pop("user_id") não tem valor padrão e lança KeyError. Leia o ramo existente para user_id nulo que retorna 400 com "Payload must include user_id" e faça o caso de chave ausente seguir o mesmo caminho. Está pronto quando um payload sem user_id recebe o mesmo 400 de um nulo, com testes cobrindo os dois casos.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

The PUT /<country_id>/user-profile route (update_user_profile in policyengine_api/routes/user_profile_routes.py) reads the ID with payload.pop("user_id"), with no default. A payload without a user_id key raises KeyError, which the generic error handler turns into a 500.

The route already returns 400 ("Payload must include user_id") when user_id is present but null, so a missing key should get the same 400.

Expected

A payload without user_id gives 400 with the same message as a null user_id, for example by using payload.pop("user_id", None). Add a test for both cases.

Notes

  • Found while documenting the code for the ruff docstring rules; behaviour was left unchanged there.
  • The route has a TODO pointing at #2054 (request validation), which is now closed.
Linguagem predominante
Python
Estrelas
18
Forks
33
Merge médio
1d 20h
PRs com merge (30d)
27

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de PolicyEngine/policyengine-api

Todas as issues de PolicyEngine/policyengine-api

Issues semelhantes

Mais issues de Python

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.