mirror of
				https://gitlab.com/comunic/comunicapiv3
				synced 2025-11-04 01:24:04 +00:00 
			
		
		
		
	Can cancel a group membership request
This commit is contained in:
		@@ -227,3 +227,18 @@ pub fn send_request(r: &mut HttpRequestHandler) -> RequestResult {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    r.success("The membership has been successfully saved!")
 | 
					    r.success("The membership has been successfully saved!")
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/// Cancel a group membership request
 | 
				
			||||||
 | 
					pub fn cancel_request(r: &mut HttpRequestHandler) -> RequestResult {
 | 
				
			||||||
 | 
					    let group_id = r.post_group_id_with_access("id", GroupAccessLevel::LIMITED_ACCESS)?;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if groups_helper::get_membership_level(&group_id, r.user_id_opt())? != GroupMembershipLevel::PENDING {
 | 
				
			||||||
 | 
					        r.forbidden("You did not send a membership request to this group!".to_string())?;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    groups_helper::delete_member(&group_id, &r.user_id()?)?;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // TODO : delete any related notification
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    r.success("The request has been successfully cancelled!")
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -156,6 +156,8 @@ pub fn get_routes() -> Vec<Route> {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        Route::post("/groups/send_request", Box::new(groups_controller::send_request)),
 | 
					        Route::post("/groups/send_request", Box::new(groups_controller::send_request)),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        Route::post("/groups/cancel_request", Box::new(groups_controller::cancel_request)),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        // Virtual directory controller
 | 
					        // Virtual directory controller
 | 
				
			||||||
        Route::post("/user/findbyfolder", Box::new(virtual_directory_controller::find_user)),
 | 
					        Route::post("/user/findbyfolder", Box::new(virtual_directory_controller::find_user)),
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user