summaryrefslogtreecommitdiff
path: root/src/setup
diff options
context:
space:
mode:
authorOwen Jacobson <owen@grimoire.ca>2024-10-11 22:57:56 -0400
committerOwen Jacobson <owen@grimoire.ca>2024-10-11 22:57:56 -0400
commit756863f298f9e4277863f9e8758e253c5ae95923 (patch)
tree82a9c6643b360b035f4630f2b1db138d9937c8d8 /src/setup
parent812f1cafe3f8a68bf45b677fade7417c30d92eac (diff)
Return a distinct error when an invite username is in use.
I've also aligned channel creation with this (it's 409 Conflict). To make server setup more distinct, it now returns 503 Service Unavailable if setup has not been completed.
Diffstat (limited to 'src/setup')
-rw-r--r--src/setup/middleware.rs6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/setup/middleware.rs b/src/setup/middleware.rs
index a5f9070..5f9996b 100644
--- a/src/setup/middleware.rs
+++ b/src/setup/middleware.rs
@@ -10,7 +10,11 @@ use crate::{app::App, error::Internal};
pub async fn setup_required(State(app): State<App>, request: Request, next: Next) -> Response {
match app.setup().completed().await {
Ok(true) => next.run(request).await,
- Ok(false) => (StatusCode::CONFLICT, "initial setup not completed").into_response(),
+ Ok(false) => (
+ StatusCode::SERVICE_UNAVAILABLE,
+ "initial setup not completed",
+ )
+ .into_response(),
Err(error) => Internal::from(error).into_response(),
}
}