PUT user-profile returns 500 when user_id is missing from the payload
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
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
- Sem Dockerfile nem arquivo Docker Compose
- Tem um modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de PolicyEngine/policyengine-api
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 82/100
PolicyEngine/policyengine-api#3910 ·
Mantenedores costumam responder em até 2 dias
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 22/100
PolicyEngine/policyengine-api#3946 ·
Mantenedores costumam responder em até 2 dias
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 22/100
PolicyEngine/policyengine-api#3945 ·
Mantenedores costumam responder em até 2 dias
-
Register weighted-microdata rules: weights aren't valuesTalvez já em andamento @anth-volk assumiu há 2 dias. Aberta
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 18/100
PolicyEngine/policyengine-api#3937 ·
Mantenedores costumam responder em até 2 dias
-
Remove the unused economy comparison moduleTalvez já em andamento @anth-volk assumiu há 2 dias. Aberta
Dificuldade 3/5 Meio dia Facilidade para iniciantes 18/100
PolicyEngine/policyengine-api#3935 ·
Mantenedores costumam responder em até 2 dias
Todas as issues de PolicyEngine/policyengine-api
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
omegaup/omegaup#10353 · 1 comentário ·
Mantenedores costumam responder em até 5 dias
-
bot-triaged module: LrScheduler module: optimizer triaged
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
Mantenedores costumam responder em até 1 dia
-
documentation glm5 llm-model
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
vllm-project/vllm-ascend#19062 ·
Mantenedores costumam responder em até 1 dia
-
Author Page: shuai-zhao-llmAbertaauthor-page correction
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
acl-org/acl-anthology#10496 · 1 comentário ·
Mantenedores costumam responder em até 1 dia