Refactoring: Moved old api method to new rest api
This commit is contained in:
parent
4891d8004c
commit
1400147761
|
@ -316,8 +316,8 @@ CommunicationModule = ( function() {
|
||||||
var target_id = row.data("target-id");
|
var target_id = row.data("target-id");
|
||||||
|
|
||||||
$.ajax({
|
$.ajax({
|
||||||
type: "PUT",
|
type: "DELETE",
|
||||||
url: "/api/member_management/remove_communication_target?target_id="+target_id,
|
url: "/api/communication_targets/"+target_id,
|
||||||
contentType: 'application/json',
|
contentType: 'application/json',
|
||||||
timeout: 3000,
|
timeout: 3000,
|
||||||
error: function () {
|
error: function () {
|
||||||
|
|
|
@ -124,13 +124,13 @@ fn main() {
|
||||||
modules::api::member_management::view::member_driving_permissions::api_member_add_driving_license,
|
modules::api::member_management::view::member_driving_permissions::api_member_add_driving_license,
|
||||||
modules::api::member_management::view::member_driving_permissions::api_member_add_driving_permission,
|
modules::api::member_management::view::member_driving_permissions::api_member_add_driving_permission,
|
||||||
modules::api::member_management::view::member_driving_permissions::api_member_remove_driving_license,
|
modules::api::member_management::view::member_driving_permissions::api_member_remove_driving_license,
|
||||||
modules::api::member_management::view::member_communication::api_member_remove_communication_target,
|
|
||||||
modules::api::members::get_member::api_members_get,
|
modules::api::members::get_member::api_members_get,
|
||||||
modules::api::members::get_member::api_members_search_name,
|
modules::api::members::get_member::api_members_search_name,
|
||||||
modules::api::members::delete_member::api_members_delete,
|
modules::api::members::delete_member::api_members_delete,
|
||||||
modules::api::members::member_communication::api_communication_targets_update,
|
modules::api::members::member_communication::api_communication_targets_update,
|
||||||
modules::api::members::member_communication::api_communication_types_get,
|
modules::api::members::member_communication::api_communication_types_get,
|
||||||
modules::api::members::member_communication::api_communication_targets_create,
|
modules::api::members::member_communication::api_communication_targets_create,
|
||||||
|
modules::api::members::member_communication::api_communication_targets_delete,
|
||||||
modules::api::groups::create::create_group,
|
modules::api::groups::create::create_group,
|
||||||
modules::api::groups::delete::delete_groups,
|
modules::api::groups::delete::delete_groups,
|
||||||
modules::api::groups::read::read_group,
|
modules::api::groups::read::read_group,
|
||||||
|
|
|
@ -1,31 +0,0 @@
|
||||||
use crate::database::controller::member_communication::{
|
|
||||||
add_communication_target, remove_communication_target,
|
|
||||||
};
|
|
||||||
use crate::database::model::member_communication::CommunicationTargetCreate;
|
|
||||||
use crate::helper::session_cookies::model::SessionCookie;
|
|
||||||
use crate::helper::settings::Settings;
|
|
||||||
use crate::modules::api::member_management::controller::parser::{parse_member_cookie, parse_uuid};
|
|
||||||
use crate::modules::api::model::api_outcome::{ApiError, ApiErrorWrapper};
|
|
||||||
use rocket::State;
|
|
||||||
use rocket_contrib::json::Json;
|
|
||||||
|
|
||||||
#[put(
|
|
||||||
"/api/member_management/remove_communication_target?<target_id>",
|
|
||||||
format = "json"
|
|
||||||
)]
|
|
||||||
pub fn api_member_remove_communication_target(
|
|
||||||
cookie: SessionCookie,
|
|
||||||
settings: State<Settings>,
|
|
||||||
target_id: String,
|
|
||||||
) -> Result<(), Json<ApiErrorWrapper>> {
|
|
||||||
//TODO: Check permissions!
|
|
||||||
let member = parse_member_cookie(cookie.member)?;
|
|
||||||
let target_id = parse_uuid(target_id)?;
|
|
||||||
|
|
||||||
match remove_communication_target(&settings, target_id) {
|
|
||||||
Ok(_) => Ok(()),
|
|
||||||
Err(_) => Err(Json(
|
|
||||||
ApiError::new(500, "Datenbankfehler aufgetreten".to_string()).to_wrapper(),
|
|
||||||
)),
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,3 +1,2 @@
|
||||||
pub mod member_communication;
|
|
||||||
pub mod member_driving_permissions;
|
pub mod member_driving_permissions;
|
||||||
pub mod member_qualifications;
|
pub mod member_qualifications;
|
||||||
|
|
|
@ -10,7 +10,7 @@ use rocket::State;
|
||||||
use rocket_contrib::json::Json;
|
use rocket_contrib::json::Json;
|
||||||
use crate::helper::check_access::check_access;
|
use crate::helper::check_access::check_access;
|
||||||
use crate::database::controller::groups::get_groups_for_member;
|
use crate::database::controller::groups::get_groups_for_member;
|
||||||
use crate::database::controller::member_communication::{get_communication_target, add_communication_target};
|
use crate::database::controller::member_communication::{get_communication_target, add_communication_target, remove_communication_target};
|
||||||
use crate::helper::translate_diesel_error::translate_diesel;
|
use crate::helper::translate_diesel_error::translate_diesel;
|
||||||
use crate::database::model::member_communication::CommunicationTargetCreate;
|
use crate::database::model::member_communication::CommunicationTargetCreate;
|
||||||
|
|
||||||
|
@ -147,6 +147,39 @@ pub fn api_communication_targets_update(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[delete(
|
||||||
|
"/api/communication_targets/<target_id>",
|
||||||
|
format = "json"
|
||||||
|
)]
|
||||||
|
pub fn api_communication_targets_delete(
|
||||||
|
cookie: SessionCookie,
|
||||||
|
settings: State<Settings>,
|
||||||
|
target_id: String,
|
||||||
|
) -> Result<(), Json<ApiErrorWrapper>> {
|
||||||
|
let member = parse_member_cookie(cookie.member)?;
|
||||||
|
let target_id = parse_uuid(target_id)?;
|
||||||
|
|
||||||
|
let target = match get_communication_target(&settings, target_id){
|
||||||
|
Ok(target) => target,
|
||||||
|
Err(e) => {
|
||||||
|
return Err(translate_diesel(e))
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
let groups = get_groups_for_member(&settings, target.entity_id);
|
||||||
|
|
||||||
|
if !check_access(&settings, target.entity_id, groups, member.entity_id, crate::permissions::modules::member_management::profile::communication::EDIT.to_string()){
|
||||||
|
return Err(Json(ApiError::new(401, "Keine Berechtigung Kommunikationseintrag zu löschen!".to_string()).to_wrapper()))
|
||||||
|
}
|
||||||
|
|
||||||
|
match remove_communication_target(&settings, target_id) {
|
||||||
|
Ok(_) => Ok(()),
|
||||||
|
Err(_) => Err(Json(
|
||||||
|
ApiError::new(500, "Datenbankfehler aufgetreten".to_string()).to_wrapper(),
|
||||||
|
)),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#[derive(Serialize, Deserialize, Queryable, Clone)]
|
#[derive(Serialize, Deserialize, Queryable, Clone)]
|
||||||
pub struct CommunicationType {
|
pub struct CommunicationType {
|
||||||
pub(crate) type_id: uuid::Uuid,
|
pub(crate) type_id: uuid::Uuid,
|
||||||
|
|
Loading…
Reference in New Issue