User Authentication and Other fixes #1

Merged
vinod merged 30 commits from user-auth into main 2023-02-05 09:01:08 +00:00
Showing only changes of commit 0aa37288ee - Show all commits

View File

@@ -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<booksman_orm::AxumUserStore, booksman_orm::AxumUser> = 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::<booksman_orm::AxumUser>::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<DatabaseConnection>,
Json(user_sent): Json<booksman_orm::AxumUser>) -> impl IntoResponse {
// add to db
@@ -305,9 +306,7 @@ Json(user_sent): Json<booksman_orm::AxumUser>) -> 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<user::Model> = QueryCore::list_all_users(&conn).await.unwrap_or(Vec::new());
let mut users : Vec<User> = Vec::new();
let mut users : Vec<booksman_orm::AxumUser> = 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(),