From 9a462d5ee974de1e48822d46e89c935dea15a8e8 Mon Sep 17 00:00:00 2001 From: Ethan Girouard Date: Sat, 18 May 2024 18:51:59 -0400 Subject: [PATCH] Make async-trait required for backend only --- Cargo.toml | 3 ++- src/auth_backend.rs | 9 ++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 4a0edc3..1ffeb2c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -32,7 +32,7 @@ tower = { version = "0.4.13", optional = true } tower-http = { version = "0.5", optional = true, features = ["fs"] } thiserror = "1.0.57" tower-sessions-redis-store = { version = "0.11", optional = true } -async-trait = "0.1.79" +async-trait = { version = "0.1.79", optional = true } axum-login = { version = "0.14.0", optional = true } log = { version = "0.4.21", optional = true } flexi_logger = { version = "0.28.0", optional = true, default-features = false } @@ -64,6 +64,7 @@ ssr = [ "tower", "tower-http", "tower-sessions-redis-store", + "async-trait", "axum-login", "log", "flexi_logger", diff --git a/src/auth_backend.rs b/src/auth_backend.rs index 79e5d9c..cf53a40 100644 --- a/src/auth_backend.rs +++ b/src/auth_backend.rs @@ -1,10 +1,17 @@ -use async_trait::async_trait; use axum_login::{AuthnBackend, AuthUser, UserId}; use crate::users::UserCredentials; use leptos::server_fn::error::ServerFnErrorErr; use crate::models::User; +use cfg_if::cfg_if; + +cfg_if! { + if #[cfg(feature = "ssr")] { + use async_trait::async_trait; + } +} + impl AuthUser for User { type Id = i32;