1
0
mirror of https://gitlab.com/comunic/comunicapiv3 synced 2024-11-22 21:39:21 +00:00

Can check the availability of a virtual directory

This commit is contained in:
Pierre HUBERT 2020-06-26 09:52:19 +02:00
parent 3f3388cb9a
commit 3a09223164
2 changed files with 15 additions and 1 deletions

View File

@ -12,7 +12,7 @@ use crate::data::group::{Group, GroupAccessLevel, GroupPostsCreationLevel, Group
use crate::data::group_id::GroupID;
use crate::data::http_request_handler::HttpRequestHandler;
use crate::data::new_group::NewGroup;
use crate::helpers::groups_helper;
use crate::helpers::{groups_helper, virtual_directory_helper};
use crate::helpers::virtual_directory_helper::VirtualDirType;
/// Create a new group
@ -105,4 +105,16 @@ pub fn set_settings(r: &mut HttpRequestHandler) -> RequestResult {
groups_helper::set_settings(&new_settings)?;
r.success("Group settings have been successfully updated!")
}
/// Check out whether a virtual directory is available for a group or not
pub fn check_virtual_dir(r: &mut HttpRequestHandler) -> RequestResult {
let group_id = r.post_group_id_with_access("groupID", GroupAccessLevel::ADMIN_ACCESS)?;
let dir = r.post_virtual_directory("directory")?;
if !virtual_directory_helper::check_availability(&dir, group_id.id(), VirtualDirType::GROUP)? {
r.forbidden("The requested virtual directory seems not to be available!".to_string())?;
}
r.success("Requested virtual directory seems to be available!")
}

View File

@ -142,6 +142,8 @@ pub fn get_routes() -> Vec<Route> {
Route::post("/groups/set_settings", Box::new(groups_controller::set_settings)),
Route::post("/groups/checkVirtualDirectory", Box::new(groups_controller::check_virtual_dir)),
// Virtual directory controller
Route::post("/user/findbyfolder", Box::new(virtual_directory_controller::find_user)),