Granting a permission to a user id with no account answers 500 instead of 404
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- Medio día
- Aptitud para principiantes
- 76/100
Línea de trabajo
Empieza por el controlador de la ruta de concesión RBAC para POST /api/v1/rbac/users/{user_id}/grant y por la búsqueda de usuario utilizada por la ruta hermana de permisos que ya devuelve 404. Añade la búsqueda que falta antes de insertar la concesión para que un UUID inexistente devuelva 404 en lugar de un error de base de datos, y decide si se descarta el user_id del cuerpo o si se rechaza cuando no coincide con el ID de la ruta. Ejecuta las pruebas de la API RBAC sobre concessiones de usuario y permisos para confirmar el nuevo 404 y que las concessiones existentes sigan funcionando.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
- Sent:
POST /api/v1/rbac/users/{user_id}/grantwith a valid body, where{user_id}is a well-formed UUID that
belongs to no account. - Comes back: 500 with the generic error body. The grant is inserted without looking the user up, and the database
refuses the row. Nothing is saved. - Expected: 404 "User not found", as
GET /api/v1/rbac/users/{user_id}/permissionsanswers for the same id. - Also: the body's required
user_idis not used (the path's id is); either drop it or refuse a body whose
user_iddiffers from the path, as the counter routes do (#95). - Reproduction (ADMIN):
curl -X POST -H "Authorization: Bearer <ADMIN token>" -H 'Content-Type: application/json' \ -d '{"user_id":"00000000-0000-0000-0000-000000000001","resource":"experiment","actions":["read"]}' \ http://localhost:8000/api/v1/rbac/users/00000000-0000-0000-0000-000000000001/grant
Found by API fuzzing (a local run), reproduced by hand.
- Lenguaje dominante
- Python
- Estrellas
- 0
- Forks
- 4
- Merge medio
- 5 h 19 min
- PR fusionados (30 d)
- 503
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Tiene una 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 Controlvar/controlvar
-
Dashboard: the sequential panel's "Ready to stop" banner shows no sample-ratio-mismatch cautionAbiertobug post-launch
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Controlvar/controlvar#1737 ·
Los mantenedores suelen responder en 1 día
-
fix(api): the feature-flag list has no defined order across pagesPosiblemente ocupada @amarkanday la tomó hoy. Abiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Controlvar/controlvar#1612 ·
Los mantenedores suelen responder en 1 día
-
bug post-launch
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
Controlvar/controlvar#1562 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 90/100
Controlvar/controlvar#1447 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
Experiment setup: emptying a traffic share box and typing a number shows a leading zero ("034")Abiertobug post-launch
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Controlvar/controlvar#1428 ·
Los mantenedores suelen responder en 1 día
Todos los issues de Controlvar/controlvar
Issues similares
-
bug severity:low
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 2 días
-
curriculum documentation quality
Dificultad 2/5 1-3 horas Aptitud para principiantes 77/100
githubnext/gh-aw-workshop#5367 ·
Los mantenedores suelen responder en 3 días
-
OAuth documentation for GET /api/v2/users/me/ appears inconsistent with required global read scopeAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día
-
Create Noise Latents ignores randomize_seed and produces the same noise every runPosiblemente ocupada @griptapeops la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
griptape-ai/griptape-nodes-library-diffusers#127 ·
Los mantenedores suelen responder en 1 día
-
Jenkins capacity report: metrics history is lost when archiving a month failsPosiblemente ocupada @RaphaelFakhri la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
adoptium/infrastructure#4568 ·
Los mantenedores suelen responder en 1 día