From 0468d1adca6d2011fb538219263b8b22b2deaeaa Mon Sep 17 00:00:00 2001 From: BAaboe Date: Tue, 22 Jul 2025 18:05:19 +0200 Subject: [PATCH 1/4] fix: Unecessary merge of routers --- src/api/v1/member/mod.rs | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/api/v1/member/mod.rs b/src/api/v1/member/mod.rs index 3ee9718..61dc085 100644 --- a/src/api/v1/member/mod.rs +++ b/src/api/v1/member/mod.rs @@ -11,11 +11,8 @@ use crate::{AppState, api::v1::auth::CurrentUser}; mod uuid; pub fn router(app_state: Arc) -> Router> { - let router_with_auth = Router::new() + Router::new() .route("/{uuid}", get(uuid::get)) .route("/{uuid}", delete(uuid::delete)) - .layer(from_fn_with_state(app_state, CurrentUser::check_auth_layer)); - - Router::new() - .merge(router_with_auth) + .layer(from_fn_with_state(app_state, CurrentUser::check_auth_layer)) } From ea33230e58157fd7cb575a330b7218b84fda1752 Mon Sep 17 00:00:00 2001 From: BAaboe Date: Tue, 22 Jul 2025 18:10:37 +0200 Subject: [PATCH 2/4] fix: reduced numder of function calls to get conn --- src/api/v1/member/uuid/mod.rs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/api/v1/member/uuid/mod.rs b/src/api/v1/member/uuid/mod.rs index f0425dd..16cc7a9 100644 --- a/src/api/v1/member/uuid/mod.rs +++ b/src/api/v1/member/uuid/mod.rs @@ -1,4 +1,4 @@ -//! `/api/v1/member/{uuid}` Member specific endpoints +//! `/api/v1/members/{uuid}` Member specific endpoints use std::sync::Arc; @@ -41,15 +41,17 @@ pub async fn delete( ) -> Result { global_checks(&app_state, uuid).await?; - let me = Me::get(&mut app_state.pool.get().await?, uuid).await?; + let mut conn = app_state.pool.get().await?; + + let me = Me::get(&mut conn, uuid).await?; let member = Member::fetch_one_with_member(&app_state, &me, member_uuid).await?; - let deleter = Member::check_membership(&mut app_state.pool.get().await?, uuid, member.guild_uuid).await?; + let deleter = Member::check_membership(&mut conn, uuid, member.guild_uuid).await?; deleter.check_permission(&app_state, Permissions::ManageMember).await?; - member.delete(&mut app_state.pool.get().await?).await?; + member.delete(&mut conn).await?; Ok(StatusCode::OK) } From 31596c6bfe49532620688b63c8fc1628548d7cee Mon Sep 17 00:00:00 2001 From: BAaboe Date: Tue, 22 Jul 2025 18:26:04 +0200 Subject: [PATCH 3/4] fix: memebrs not member as endpoint --- src/api/v1/{member => members}/mod.rs | 3 +-- src/api/v1/{member => members}/uuid/mod.rs | 0 src/api/v1/mod.rs | 6 +++--- 3 files changed, 4 insertions(+), 5 deletions(-) rename src/api/v1/{member => members}/mod.rs (67%) rename src/api/v1/{member => members}/uuid/mod.rs (100%) diff --git a/src/api/v1/member/mod.rs b/src/api/v1/members/mod.rs similarity index 67% rename from src/api/v1/member/mod.rs rename to src/api/v1/members/mod.rs index 61dc085..9e1ea52 100644 --- a/src/api/v1/member/mod.rs +++ b/src/api/v1/members/mod.rs @@ -10,9 +10,8 @@ use crate::{AppState, api::v1::auth::CurrentUser}; mod uuid; -pub fn router(app_state: Arc) -> Router> { +pub fn router() -> Router> { Router::new() .route("/{uuid}", get(uuid::get)) .route("/{uuid}", delete(uuid::delete)) - .layer(from_fn_with_state(app_state, CurrentUser::check_auth_layer)) } diff --git a/src/api/v1/member/uuid/mod.rs b/src/api/v1/members/uuid/mod.rs similarity index 100% rename from src/api/v1/member/uuid/mod.rs rename to src/api/v1/members/uuid/mod.rs diff --git a/src/api/v1/mod.rs b/src/api/v1/mod.rs index b05774e..b2c9c99 100644 --- a/src/api/v1/mod.rs +++ b/src/api/v1/mod.rs @@ -13,7 +13,7 @@ mod invites; mod me; mod stats; mod users; -mod member; +mod members; pub fn router(app_state: Arc) -> Router> { let router_with_auth = Router::new() @@ -29,7 +29,7 @@ pub fn router(app_state: Arc) -> Router> { Router::new() .route("/stats", get(stats::res)) .nest("/auth", auth::router(app_state.clone())) - .nest("/channels", channels::router(app_state.clone())) - .nest("/member", member::router(app_state)) + .nest("/channels", channels::router(app_state)) + .nest("/members", members::router()) .merge(router_with_auth) } From 6dd8ddb0df8c3c5ff67af1d584734a71f64c75a6 Mon Sep 17 00:00:00 2001 From: BAaboe Date: Tue, 22 Jul 2025 18:27:36 +0200 Subject: [PATCH 4/4] fix: members in router_with_auth --- src/api/v1/mod.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/api/v1/mod.rs b/src/api/v1/mod.rs index b2c9c99..3aee3a0 100644 --- a/src/api/v1/mod.rs +++ b/src/api/v1/mod.rs @@ -20,6 +20,7 @@ pub fn router(app_state: Arc) -> Router> { .nest("/users", users::router()) .nest("/guilds", guilds::router()) .nest("/invites", invites::router()) + .nest("/members", members::router()) .nest("/me", me::router()) .layer(from_fn_with_state( app_state.clone(), @@ -30,6 +31,5 @@ pub fn router(app_state: Arc) -> Router> { .route("/stats", get(stats::res)) .nest("/auth", auth::router(app_state.clone())) .nest("/channels", channels::router(app_state)) - .nest("/members", members::router()) .merge(router_with_auth) }