Leptos updated to 0.6.5
This commit is contained in:
@@ -7,6 +7,7 @@ use crate::components::data_form::ForValidation;
|
||||
cfg_if! { if #[cfg(feature = "ssr")] {
|
||||
use sqlx::{query_as, PgPool, query};
|
||||
use crate::error::AppError;
|
||||
use crate::backend::get_pool;
|
||||
use log::info;
|
||||
|
||||
pub async fn check_company(pool: &PgPool) -> Result<(), AppError> {
|
||||
@@ -26,14 +27,11 @@ cfg_if! { if #[cfg(feature = "ssr")] {
|
||||
|
||||
#[server(GetCompany, "/api", "Url", "get_company")]
|
||||
pub async fn get_company() -> Result<ApiResponse<Company>, ServerFnError> {
|
||||
use crate::backend::AppData;
|
||||
use actix_web::web::Data;
|
||||
use leptos_actix::extract;
|
||||
use crate::perm_check;
|
||||
|
||||
perm_check!(is_logged_in);
|
||||
|
||||
let pool = extract(|data: Data<AppData>| async move { data.db_pool().clone() }).await?;
|
||||
let pool = get_pool().await?;
|
||||
|
||||
let cmp = sqlx::query_as::<_, Company>("SELECT * FROM company")
|
||||
.fetch_one(&pool)
|
||||
@@ -44,14 +42,11 @@ pub async fn get_company() -> Result<ApiResponse<Company>, ServerFnError> {
|
||||
|
||||
#[server(UpdateCompany, "/api", "Url", "update_company")]
|
||||
pub async fn update_company(company: Company) -> Result<ApiResponse<()>, ServerFnError> {
|
||||
use crate::backend::AppData;
|
||||
use actix_web::web::Data;
|
||||
use leptos_actix::extract;
|
||||
use crate::perm_check;
|
||||
|
||||
perm_check!(is_admin);
|
||||
|
||||
let pool = extract(|data: Data<AppData>| async move { data.db_pool().clone() }).await?;
|
||||
let pool = get_pool().await?;
|
||||
|
||||
sqlx::query(
|
||||
"UPDATE company SET name = $1, street = $2, house_number = $3, zip_code = $4, city = $5 \
|
||||
|
||||
+2
-1
@@ -72,7 +72,8 @@ cfg_if!{
|
||||
}
|
||||
|
||||
pub async fn get_pool() -> Result<PgPool, ServerFnError> {
|
||||
extract(|data: Data<AppData>| async move { data.db_pool().clone() }).await
|
||||
let data = extract::<Data<AppData>>().await?;
|
||||
Ok(data.db_pool().clone())
|
||||
}
|
||||
}
|
||||
}
|
||||
+14
-13
@@ -42,9 +42,14 @@ cfg_if! { if #[cfg(feature = "ssr")] {
|
||||
}
|
||||
|
||||
pub async fn logged_in_user() -> Option<User> {
|
||||
extract(|session: Session| async move {
|
||||
session.get::<User>("user").unwrap_or(None)
|
||||
}).await.unwrap_or(None)
|
||||
let session = extract::<Session>().await;
|
||||
|
||||
if session.is_err() {
|
||||
return None
|
||||
}
|
||||
|
||||
session.unwrap().get::<User>("user").unwrap_or(None)
|
||||
|
||||
/*let mut usr = User::default();
|
||||
usr.full_name = Some("PokAdm".to_string());
|
||||
usr.admin = true;
|
||||
@@ -77,10 +82,8 @@ pub async fn login(username: String, password: String) -> Result<ApiResponse<()>
|
||||
let user = user_from_login(&pool, &username).await.unwrap_or(User::default());
|
||||
|
||||
if !user.login.is_empty() && pwhash::bcrypt::verify(password, &user.password) {
|
||||
extract(|session: Session| async move {
|
||||
let _ = session.insert("user", user);
|
||||
})
|
||||
.await?;
|
||||
let session = extract::<Session>().await?;
|
||||
let _ = session.insert("user", user);
|
||||
|
||||
info!("User {} logged in", username);
|
||||
|
||||
@@ -97,9 +100,8 @@ pub async fn login(username: String, password: String) -> Result<ApiResponse<()>
|
||||
|
||||
#[server]
|
||||
pub async fn logout() -> Result<(), ServerFnError> {
|
||||
extract(|session: Session| async move {
|
||||
session.clear();
|
||||
}).await?;
|
||||
let session = extract::<Session>().await?;
|
||||
session.clear();
|
||||
|
||||
redirect("/login");
|
||||
Ok(())
|
||||
@@ -160,9 +162,8 @@ pub async fn update_profile(user: UserProfile) -> Result<ApiResponse<()>, Server
|
||||
|
||||
if logged_in_user().await.unwrap_or_default().login == user.login() {
|
||||
let usr = user_from_login(&pool, user.login()).await?;
|
||||
extract(|session: Session| async move {
|
||||
let _ = session.insert("user", usr);
|
||||
}).await?;
|
||||
let session = extract::<Session>().await?;
|
||||
let _ = session.insert("user", usr);
|
||||
}
|
||||
|
||||
Ok(ApiResponse::Data(()))
|
||||
|
||||
Reference in New Issue
Block a user