diff options
Diffstat (limited to 'src/api/users.rs')
-rw-r--r-- | src/api/users.rs | 26 |
1 files changed, 17 insertions, 9 deletions
diff --git a/src/api/users.rs b/src/api/users.rs index 082926e..71305c5 100644 --- a/src/api/users.rs +++ b/src/api/users.rs @@ -1,7 +1,7 @@ use crate::{ public::docs::{EndpointDocumentation, EndpointMethod}, types::{ - extract::{AuthorizedUser, Check, CheckResult, Json, Log, Png}, + extract::{AuthorizedUser, Check, CheckResult, Database, Json, Log, Png}, http::ResponseCode, user::User, }, @@ -46,9 +46,10 @@ impl Check for UserLoadRequest { async fn load_batch( AuthorizedUser(_user): AuthorizedUser, + Database(db): Database, Json(body): Json<UserLoadRequest>, ) -> Response { - let users = User::from_user_ids(body.ids); + let users = User::from_user_ids(&db, body.ids); let Ok(json) = serde_json::to_string(&users) else { return ResponseCode::InternalServerError.text("Failed to fetch users") }; @@ -90,9 +91,10 @@ impl Check for UserPageReqiest { async fn load_page( AuthorizedUser(_user): AuthorizedUser, + Database(db): Database, Json(body): Json<UserPageReqiest>, ) -> Response { - let Ok(users) = User::from_user_page(body.page) else { + let Ok(users) = User::from_user_page(&db, body.page) else { return ResponseCode::InternalServerError.text("Failed to fetch users") }; @@ -207,17 +209,18 @@ impl Check for UserFollowRequest { async fn follow( AuthorizedUser(user): AuthorizedUser, + Database(db): Database, Json(body): Json<UserFollowRequest>, ) -> Response { if body.state { - if let Err(err) = User::add_following(user.user_id, body.user_id) { + if let Err(err) = User::add_following(&db, user.user_id, body.user_id) { return err; } - } else if let Err(err) = User::remove_following(user.user_id, body.user_id) { + } else if let Err(err) = User::remove_following(&db, user.user_id, body.user_id) { return err; } - match User::get_following(user.user_id, body.user_id) { + match User::get_following(&db, user.user_id, body.user_id) { Ok(status) => ResponseCode::Success.text(&format!("{status}")), Err(err) => err, } @@ -259,9 +262,10 @@ impl Check for UserFollowStatusRequest { async fn follow_status( AuthorizedUser(user): AuthorizedUser, + Database(db): Database, Json(body): Json<UserFollowStatusRequest>, ) -> Response { - match User::get_following(user.user_id, body.user_id) { + match User::get_following(&db, user.user_id, body.user_id) { Ok(status) => ResponseCode::Success.text(&format!("{status}")), Err(err) => err, } @@ -297,8 +301,12 @@ impl Check for UserFriendsRequest { } } -async fn friends(AuthorizedUser(_user): AuthorizedUser, Json(body): Json<UserFriendsRequest>) -> Response { - let Ok(users) = User::get_friends(body.user_id) else { +async fn friends( + AuthorizedUser(_user): AuthorizedUser, + Database(db): Database, + Json(body): Json<UserFriendsRequest>, +) -> Response { + let Ok(users) = User::get_friends(&db, body.user_id) else { return ResponseCode::InternalServerError.text("Failed to fetch user") }; |