mirror of
https://gitlab.com/comunic/comunicapiv3
synced 2025-07-15 03:38:07 +00:00
Replace get_members_info with a more appropriate route
This commit is contained in:
src
@ -5,8 +5,8 @@
|
||||
//!
|
||||
//! @author Pierre Hubert
|
||||
|
||||
use crate::api_data::forez_member_api::ForezMemberAPI;
|
||||
use crate::api_data::group_api::GroupApi;
|
||||
use crate::api_data::user_info::APIUserInfo;
|
||||
use crate::data::base_request_handler::BaseRequestHandler;
|
||||
use crate::data::config::conf;
|
||||
use crate::data::http_request_handler::HttpRequestHandler;
|
||||
@ -27,18 +27,18 @@ pub fn get_list_groups(r: &mut HttpRequestHandler) -> RequestResult {
|
||||
}
|
||||
|
||||
/// Get advanced information about all the members of a group
|
||||
pub fn get_members_info(r: &mut HttpRequestHandler) -> RequestResult {
|
||||
pub fn get_member_info(r: &mut HttpRequestHandler) -> RequestResult {
|
||||
let group = r.post_forez_group("group")?;
|
||||
let member = r.post_user_id("user")?;
|
||||
|
||||
let members = groups_helper::get_list_members(&group)?;
|
||||
let mut users = vec![];
|
||||
let membership = groups_helper::get_membership(&group, Some(member.clone()))?;
|
||||
|
||||
for member in members {
|
||||
let user = user_helper::find_user_by_id(&member.user_id)?;
|
||||
users.push(ForezMemberAPI::new(&user, &member, r.user_id()?)?);
|
||||
if !membership.is_at_least_member() {
|
||||
r.bad_request("This user is not a member of the group yet!".to_string())?;
|
||||
}
|
||||
|
||||
r.set_response(users)
|
||||
let user = user_helper::find_user_by_id(&member)?;
|
||||
r.set_response(APIUserInfo::new_advanced_info(&Some(member), &user)?)
|
||||
}
|
||||
|
||||
/// Set presence
|
||||
|
Reference in New Issue
Block a user