1
0
mirror of https://gitlab.com/comunic/comunicapiv3 synced 2025-06-21 17:05:16 +00:00

Can respond to an invitation

This commit is contained in:
2020-06-27 13:19:56 +02:00
parent e7a13f7181
commit 135c3d6459
4 changed files with 71 additions and 0 deletions

View File

@ -172,4 +172,24 @@ pub fn invite_user(r: &mut HttpRequestHandler) -> RequestResult {
// TODO : send a notification
r.success("The user has been successfully invited to join the group!")
}
/// Respond to a user invitation
pub fn respond_invitation(r: &mut HttpRequestHandler) -> RequestResult {
let group_id = r.post_group_id_with_access("id", GroupAccessLevel::LIMITED_ACCESS)?;
let accept = r.post_bool("accept")?;
if !groups_helper::received_invitation(&group_id, &r.user_id()?)? {
r.not_found("Invitation not found!".to_string())?
}
groups_helper::respond_invitation(&group_id, &r.user_id()?, accept)?;
if accept {
groups_helper::set_following(&group_id, &r.user_id()?, true)?;
}
// TODO : Create a notification
r.success("Response to the invitation was successfully saved!")
}

View File

@ -152,6 +152,8 @@ pub fn get_routes() -> Vec<Route> {
Route::post("/groups/invite", Box::new(groups_controller::invite_user)),
Route::post("/groups/respond_invitation", Box::new(groups_controller::respond_invitation)),
// Virtual directory controller
Route::post("/user/findbyfolder", Box::new(virtual_directory_controller::find_user)),