This commit is contained in:
2026-05-16 17:57:54 +02:00
parent 1a2ec26f27
commit b2cefb7d66
55 changed files with 1654 additions and 334 deletions
+39 -3
View File
@@ -1,5 +1,41 @@
use super::{domain::User, dto::UserResponse};
use crate::auth::password::hash_password;
use crate::models::user;
use crate::routes::user::dto::{CreateUserRequest, UpdateUserRequest, UserResponse};
use anyhow::Result as AnyResult;
use sea_orm::{NotSet, Set};
use uuid::Uuid;
pub fn to_response(_user: User) -> UserResponse {
todo!()
pub fn user_model_to_user_response(model: user::Model) -> UserResponse {
UserResponse {
id: model.id,
username: model.username,
pub_key: model.pub_key,
is_superuser: model.is_superuser,
created_at: model.created_at,
updated_at: model.updated_at,
}
}
pub fn create_request_to_am(payload: CreateUserRequest) -> AnyResult<user::ActiveModel> {
Ok(user::ActiveModel {
id: Set(Uuid::new_v4()),
username: Set(payload.username),
password: Set(hash_password(&payload.password)?),
pub_key: Set(payload.pub_key),
is_superuser: Set(payload.is_superuser),
created_at: Set(chrono::Utc::now()),
updated_at: Set(chrono::Utc::now()),
})
}
pub fn update_request_to_am(id: Uuid, payload: UpdateUserRequest) -> user::ActiveModel {
user::ActiveModel {
id: Set(id),
username: Set(payload.username),
password: NotSet, // On ne change pas le password via PUT général
pub_key: Set(payload.pub_key),
is_superuser: Set(payload.is_superuser),
updated_at: Set(chrono::Utc::now()),
..Default::default()
}
}