User management completed. Leptos upgraded to 0.5.0.
This commit is contained in:
+9
-1
@@ -28,8 +28,9 @@ macro_rules! user_check {
|
||||
use crate::backend::user::logged_in_user;
|
||||
|
||||
perm_check!(is_logged_in);
|
||||
let user = logged_in_user().await.unwrap_or(User::default());
|
||||
|
||||
if logged_in_user().await.unwrap_or(User::default()).login != $check {
|
||||
if !user.admin && user.login != $check {
|
||||
let response = expect_context::<ResponseOptions>();
|
||||
response.set_status(StatusCode::FORBIDDEN);
|
||||
|
||||
@@ -41,6 +42,9 @@ macro_rules! user_check {
|
||||
cfg_if!{
|
||||
if #[cfg(feature = "ssr")] {
|
||||
use sqlx::PgPool;
|
||||
use actix_web::web::Data;
|
||||
use leptos_actix::extract;
|
||||
use leptos::ServerFnError;
|
||||
|
||||
#[derive(Clone)]
|
||||
pub struct AppData {
|
||||
@@ -58,5 +62,9 @@ cfg_if!{
|
||||
&self.db_pool
|
||||
}
|
||||
}
|
||||
|
||||
pub async fn get_pool() -> Result<PgPool, ServerFnError> {
|
||||
extract(|data: Data<AppData>| async move { data.db_pool().clone() }).await
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user