summaryrefslogtreecommitdiff
path: root/src/api/users.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/api/users.rs')
-rw-r--r--src/api/users.rs26
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")
};