From bf900e7e5ad307ab78fcb56c134af22aa5c3b9a3 Mon Sep 17 00:00:00 2001 From: Quentin Gliech Date: Tue, 11 Feb 2025 13:54:15 +0100 Subject: [PATCH] Fix the definition of the set-password success response in the OpenAPI spec --- crates/handlers/src/admin/mod.rs | 4 ++++ crates/handlers/src/admin/v1/users/set_password.rs | 2 +- docs/api/spec.json | 11 ++--------- 3 files changed, 7 insertions(+), 10 deletions(-) diff --git a/crates/handlers/src/admin/mod.rs b/crates/handlers/src/admin/mod.rs index 22535504e..dbe67430e 100644 --- a/crates/handlers/src/admin/mod.rs +++ b/crates/handlers/src/admin/mod.rs @@ -47,6 +47,10 @@ where Templates: FromRef, UrlBuilder: FromRef, { + // We *always* want to explicitly set the possible responses, beacuse the + // infered ones are not necessarily correct + aide::generate::infer_responses(false); + aide::generate::in_context(|ctx| { ctx.schema = schemars::gen::SchemaGenerator::new(schemars::gen::SchemaSettings::openapi3()); }); diff --git a/crates/handlers/src/admin/v1/users/set_password.rs b/crates/handlers/src/admin/v1/users/set_password.rs index f99d44dd3..84ea35fee 100644 --- a/crates/handlers/src/admin/v1/users/set_password.rs +++ b/crates/handlers/src/admin/v1/users/set_password.rs @@ -74,7 +74,7 @@ pub fn doc(operation: TransformOperation) -> TransformOperation { .id("setUserPassword") .summary("Set the password for a user") .tag("user") - .response_with::<200, StatusCode, _>(|t| t.description("Password was set")) + .response_with::<204, (), _>(|t| t.description("Password was set")) .response_with::<400, RouteError, _>(|t| { let response = ErrorResponse::from_error(&RouteError::PasswordTooWeak); t.description("Password is too weak").example(response) diff --git a/docs/api/spec.json b/docs/api/spec.json index b05193470..229f6e8c9 100644 --- a/docs/api/spec.json +++ b/docs/api/spec.json @@ -906,15 +906,8 @@ "required": true }, "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } + "204": { + "description": "Password was set" }, "400": { "description": "Password is too weak",