diff --git a/backend/api/src/lib.rs b/backend/api/src/lib.rs index e5acee2..8adae4b 100644 --- a/backend/api/src/lib.rs +++ b/backend/api/src/lib.rs @@ -31,7 +31,7 @@ use migration::{Migrator, MigratorTrait}; use chrono::Local; use axum_login::{ axum_sessions::{async_session::MemoryStore as SessionMemoryStore, SessionLayer}, - AuthLayer, AuthUser, RequireAuthorizationLayer, + AuthLayer, RequireAuthorizationLayer, }; use rand::Rng; @@ -244,20 +244,21 @@ pub async fn main() { let user_store = booksman_orm::AxumUserStore::new(&conn); - let auth_layer = AuthLayer::new(user_store, &secret); + let auth_layer: AuthLayer = AuthLayer::new(user_store, &secret); let meili_client = Client::new(meili_url, meili_key); let app = Router::new() - .route("/api/search_openlibrary", get(search_openlibrary)) .route("/api/create_by_isbn", get(create_by_isbn)) + .route("/api/create", post(create_book)) + .route("/api/update", post(update_book)) .route("/api/delete/:id", get(delete_book)) + .route_layer(RequireAuthorizationLayer::::login()) .route("/api/list", get(list_book)) .route("/api/list_search", get(list_search_book)) .route("/api/list_users", get(list_users)) - .route("/api/create", post(create_book)) - .route("/api/update", post(update_book)) + .route("/api/search_openlibrary", get(search_openlibrary)) .route("/api/login", post(login_handler)) .route("/api/register", post(register_handler)) .route("/api/logout", post(logout_handler)) @@ -296,7 +297,7 @@ pub async fn main() { } -#[axum_macros::debug_handler] +//#[axum_macros::debug_handler] async fn register_handler(Extension(ref conn): Extension, Json(user_sent): Json) -> impl IntoResponse { // add to db @@ -305,9 +306,7 @@ Json(user_sent): Json) -> impl IntoResponse { user_name: Some(user_sent.clone().name), password_hash: user_sent.clone().password_hash, }; - let created_user = MutationCore::create_user(conn, user).await.expect("Failed to create user"); - - //auth.login(&user_sent_updated).await.unwrap(); + let _created_user = MutationCore::create_user(conn, user).await.expect("Failed to create user"); return "success"; } @@ -317,9 +316,9 @@ async fn list_users( ) -> impl IntoResponse { let usersmodels : Vec = QueryCore::list_all_users(&conn).await.unwrap_or(Vec::new()); - let mut users : Vec = Vec::new(); + let mut users : Vec = Vec::new(); for usermodel in usersmodels.iter() { - let user = User{ + let user = booksman_orm::AxumUser{ id: usermodel.id, name: usermodel.user_name.clone().unwrap().clone(), password_hash : "".to_string(),