PUT user-profile returns 500 when user_id is missing from the payload
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 1/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 88/100
Línea de trabajo
El error está en update_user_profile en policyengine_api/routes/user_profile_routes.py, donde payload.pop("user_id") no tiene valor por defecto y lanza KeyError. Lee la rama existente para un user_id nulo que devuelve 400 con "Payload must include user_id" y haz que el caso de clave ausente siga la misma ruta. Está terminado cuando un payload sin user_id recibe el mismo 400 que uno nulo, con pruebas que cubran ambos casos.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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.
- Lenguaje dominante
- Python
- Estrellas
- 18
- Forks
- 33
- Merge medio
- 1 d 15 h
- PR fusionados (30 d)
- 18
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de PolicyEngine/policyengine-api
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 82/100
PolicyEngine/policyengine-api#3910 ·
Los mantenedores suelen responder en 1 día
-
Enable ruff security, logging and debugging rules (S, T20, LOG, G, DTZ, ERA, TD, FIX, EXE)Posiblemente ocupada @anth-volk la tomó hoy. Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 18/100
PolicyEngine/policyengine-api#3914 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 38/100
PolicyEngine/policyengine-api#3912 ·
Los mantenedores suelen responder en 1 día
-
validate_country prints "Validating country" on every requestPosiblemente ocupada @anth-volk la tomó hoy. Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 25/100
PolicyEngine/policyengine-api#3909 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 Medio día Aptitud para principiantes 48/100
PolicyEngine/policyengine-api#3908 ·
Los mantenedores suelen responder en 1 día
Todos los issues de PolicyEngine/policyengine-api
Issues similares
-
vis.image() reports "Unsupported number of image channels: 224" for an HxWxC imagePosiblemente ocupada @piyush182004 la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
fossasia/visdom#1997 · 3 comentarios ·
Los mantenedores suelen responder en 6 días
-
Byse new domainAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
Gujal00/ResolveURL#1525 ·
Los mantenedores suelen responder en 1 día
-
Serialisation fails with pydantic 2.14: wrap serialisers pass SerializationInfo as index_keyPosiblemente ocupada @hugohills-regnosys la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
finos/rune-python-runtime#45 ·
-
[Bug]: LangGraph Store sync put bypasses namespace validationPosiblemente ocupada @ktz03 la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
volcengine/OpenViking#6050 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
hummingbot/condor#283 ·
Los mantenedores suelen responder en 1 día