71 lines
2.1 KiB
Rust
71 lines
2.1 KiB
Rust
use crate::database::controller::member_licenses::{
|
|
add_member_driving_permission, add_member_license, remove_member_license,
|
|
};
|
|
use crate::helper::settings::Settings;
|
|
use crate::modules::api::model::api_outcome::{ApiError, ApiErrorWrapper};
|
|
use rocket::State;
|
|
use rocket::serde::json::Json;
|
|
|
|
pub fn add_member_license_or_error(
|
|
member_id: uuid::Uuid,
|
|
license_name: String,
|
|
settings: &State<Settings>,
|
|
) -> Result<(), Json<ApiErrorWrapper>> {
|
|
match add_member_license(settings, member_id, license_name) {
|
|
Ok(num) => {
|
|
if num != 1 {
|
|
Err(Json(
|
|
ApiError::new(500, "Datenbankfehler aufgetreten.".to_string()).to_wrapper(),
|
|
))
|
|
} else {
|
|
Ok(())
|
|
}
|
|
}
|
|
Err(_) => Err(Json(
|
|
ApiError::new(400, "Datenbankfehler aufgetreten.".to_string()).to_wrapper(),
|
|
)),
|
|
}
|
|
}
|
|
|
|
pub fn add_member_driving_permission_or_error(
|
|
member_id: uuid::Uuid,
|
|
license_name: String,
|
|
settings: &State<Settings>,
|
|
) -> Result<(), Json<ApiErrorWrapper>> {
|
|
match add_member_driving_permission(settings, member_id, license_name) {
|
|
Ok(num) => {
|
|
if num != 1 {
|
|
Err(Json(
|
|
ApiError::new(500, "Datenbankfehler aufgetreten".to_string()).to_wrapper(),
|
|
))
|
|
} else {
|
|
Ok(())
|
|
}
|
|
}
|
|
Err(_) => Err(Json(
|
|
ApiError::new(500, "Datenbankfehler aufgetreten".to_string()).to_wrapper(),
|
|
)),
|
|
}
|
|
}
|
|
|
|
pub fn remove_member_license_or_error(
|
|
member_id: uuid::Uuid,
|
|
license_name: String,
|
|
settings: &State<Settings>,
|
|
) -> Result<(), Json<ApiErrorWrapper>> {
|
|
match remove_member_license(settings, member_id, license_name) {
|
|
Ok(num) => {
|
|
if num != 1 {
|
|
Err(Json(
|
|
ApiError::new(500, "Datenbankfehler aufgetreten.".to_string()).to_wrapper(),
|
|
))
|
|
} else {
|
|
Ok(())
|
|
}
|
|
}
|
|
Err(_) => Err(Json(
|
|
ApiError::new(500, "Datenbankfehler aufgetreten.".to_string()).to_wrapper(),
|
|
)),
|
|
}
|
|
}
|