diff --git a/crates/handlers/src/admin/v1/users/add.rs b/crates/handlers/src/admin/v1/users/add.rs index 81b17a1ed..0a33f2961 100644 --- a/crates/handlers/src/admin/v1/users/add.rs +++ b/crates/handlers/src/admin/v1/users/add.rs @@ -109,7 +109,7 @@ pub fn doc(operation: TransformOperation) -> TransformOperation { .id("createUser") .summary("Create a new user") .tag("user") - .response_with::<200, Json>, _>(|t| { + .response_with::<201, Json>, _>(|t| { let [sample, ..] = User::samples(); let response = SingleResponse::new_canonical(sample); t.description("User was created").example(response) @@ -137,7 +137,7 @@ pub async fn handler( NoApi(mut rng): NoApi, State(homeserver): State, Json(params): Json, -) -> Result>, RouteError> { +) -> Result<(StatusCode, Json>), RouteError> { if repo.user().exists(¶ms.username).await? { return Err(RouteError::UserAlreadyExists); } @@ -170,7 +170,10 @@ pub async fn handler( repo.save().await?; - Ok(Json(SingleResponse::new_canonical(User::from(user)))) + Ok(( + StatusCode::CREATED, + Json(SingleResponse::new_canonical(User::from(user))), + )) } #[cfg(test)] @@ -194,7 +197,7 @@ mod tests { })); let response = state.request(request).await; - response.assert_status(StatusCode::OK); + response.assert_status(StatusCode::CREATED); let body: serde_json::Value = response.json(); assert_eq!(body["data"]["type"], "user"); @@ -245,7 +248,7 @@ mod tests { })); let response = state.request(request).await; - response.assert_status(StatusCode::OK); + response.assert_status(StatusCode::CREATED); let body: serde_json::Value = response.json(); assert_eq!(body["data"]["type"], "user"); @@ -296,7 +299,7 @@ mod tests { })); let response = state.request(request).await; - response.assert_status(StatusCode::OK); + response.assert_status(StatusCode::CREATED); let body: serde_json::Value = response.json(); let id = body["data"]["id"].as_str().unwrap(); diff --git a/docs/api/spec.json b/docs/api/spec.json index 100bff25a..21a20c832 100644 --- a/docs/api/spec.json +++ b/docs/api/spec.json @@ -754,7 +754,7 @@ "required": true }, "responses": { - "200": { + "201": { "description": "User was created", "content": { "application/json": {