diff options
Diffstat (limited to 'src/types/user.rs')
-rw-r--r-- | src/types/user.rs | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/src/types/user.rs b/src/types/user.rs index 3c4cd6a..3d7d85a 100644 --- a/src/types/user.rs +++ b/src/types/user.rs @@ -135,10 +135,19 @@ impl User { } #[instrument(skip(db))] - pub fn get_friends(db: &Database, user_id: u64) -> Result<Vec<Self>> { - let Ok(users) = db.get_friends(user_id) else { + pub fn get_friends(db: &Database, user_id: u64) -> Result<(Vec<Self>, Vec<Self>, Vec<Self>)> { + let Ok(friends) = db.get_friends(user_id) else { return Err(ResponseCode::InternalServerError.text("Failed to fetch friends")) }; - Ok(users) + + let Ok(followers) = db.get_followers(user_id) else { + return Err(ResponseCode::InternalServerError.text("Failed to fetch friends")) + }; + + let Ok(following) = db.get_following(user_id) else { + return Err(ResponseCode::InternalServerError.text("Failed to fetch friends")) + }; + + Ok((friends, followers, following)) } } |