feat: tests and big refactor
This commit is contained in:
parent
05e8366611
commit
82f2bb4a61
8 changed files with 402 additions and 238 deletions
|
|
@ -1,11 +1,9 @@
|
|||
use std::{fmt::Display, sync::Arc};
|
||||
|
||||
use argon2::{password_hash::{SaltString}, Argon2, PasswordHasher};
|
||||
use inquire::{min_length, prompt_text, Confirm, Password, Select, Text};
|
||||
use password_hash::rand_core::OsRng;
|
||||
use sea_orm::{ActiveModelTrait, ActiveValue::{NotSet, Set}, ColumnTrait, DatabaseConnection, EntityTrait, ModelTrait, QueryFilter};
|
||||
|
||||
use crate::entities::{owner, prelude::User, user::{self, ActiveModel}};
|
||||
use crate::{entities::{owner, prelude::User, user::{self, ActiveModel}}, utils::auth::hash_password};
|
||||
|
||||
#[derive(Debug, Copy, Clone)]
|
||||
enum Action {
|
||||
|
|
@ -146,11 +144,6 @@ pub async fn manage_users(db: Arc<DatabaseConnection>) {
|
|||
}
|
||||
}
|
||||
|
||||
fn hash_password(password: String) -> String {
|
||||
let salt = SaltString::generate(&mut OsRng);
|
||||
Argon2::default().hash_password(&password.clone().into_bytes(), &salt).unwrap().to_string()
|
||||
}
|
||||
|
||||
async fn select_user(db: Arc<DatabaseConnection>) -> Option<user::Model> {
|
||||
let users = User::find().all(db.as_ref()).await.unwrap();
|
||||
if users.is_empty() {
|
||||
|
|
|
|||
Reference in a new issue