use crate::auth::password::hash_password; use crate::models::user; use crate::routes::core::dto::JoinRequest; use anyhow::Result as AnyResult; use sea_orm::Set; use uuid::Uuid; pub fn join_request_to_user_am( payload: JoinRequest, superuser_token: Option, ) -> AnyResult { let is_super_admin = match (payload.superuser_token.as_ref(), superuser_token) { (Some(provided), Some(init)) => provided == &init.to_string(), _ => false, }; Ok(user::ActiveModel { id: Default::default(), username: Set(payload.username), password: Set(hash_password(&payload.password)?), is_superuser: Set(is_super_admin), ..Default::default() }) }