User management completed. Leptos upgraded to 0.5.0.

This commit is contained in:
2023-10-09 17:33:20 +02:00
parent a7188e8153
commit e7af2d402d
18 changed files with 697 additions and 334 deletions
+9 -1
View File
@@ -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
}
}
}