Added configuration file and loggign.
This commit is contained in:
+6
-2
@@ -1,5 +1,4 @@
|
||||
use cfg_if::cfg_if;
|
||||
|
||||
pub mod data;
|
||||
pub mod company;
|
||||
pub mod user;
|
||||
@@ -10,13 +9,17 @@ pub mod opening_hours;
|
||||
macro_rules! perm_check {
|
||||
($check:ident) => {
|
||||
use crate::backend::user::$check;
|
||||
use crate::backend::user::logged_in_user;
|
||||
use actix_web::http::StatusCode;
|
||||
use leptos_actix::ResponseOptions;
|
||||
use log::warn;
|
||||
|
||||
if !$check().await {
|
||||
let response = expect_context::<ResponseOptions>();
|
||||
response.set_status(StatusCode::FORBIDDEN);
|
||||
|
||||
warn!("Permission denied for user: {}", logged_in_user().await.unwrap_or_default().login);
|
||||
|
||||
return Ok(ApiResponse::Error("Forbidden".to_string()))
|
||||
}
|
||||
}
|
||||
@@ -26,7 +29,6 @@ macro_rules! perm_check {
|
||||
macro_rules! user_check {
|
||||
($check:expr) => {
|
||||
use crate::perm_check;
|
||||
use crate::backend::user::logged_in_user;
|
||||
|
||||
perm_check!(is_logged_in);
|
||||
let user = logged_in_user().await.unwrap_or(User::default());
|
||||
@@ -35,6 +37,8 @@ macro_rules! user_check {
|
||||
let response = expect_context::<ResponseOptions>();
|
||||
response.set_status(StatusCode::FORBIDDEN);
|
||||
|
||||
warn!("Try to update not owned data. User: {}", user.login);
|
||||
|
||||
return Ok(ApiResponse::Error("You can change your own profile only".to_string()))
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user