This commit is contained in:
2026-08-08 20:19:33 +02:00
parent 42ab990f7d
commit 8f3fd6a127
+11 -7
View File
@@ -1,8 +1,9 @@
use crate::core::state::AppState; use crate::core::state::AppState;
use crate::domain::dto::user::{
CreateUserRequest, UpdateUserRequest, UserQueryParams, UserResponse,
};
use crate::http::context::Superuser; use crate::http::context::Superuser;
use crate::http::error::HTTPError; use crate::http::error::HTTPError;
use crate::domain::dto::user::{CreateUserRequest, UpdateUserRequest, UserResponse};
use crate::domain::dto::user::UserQueryParams;
use crate::routes::user::mapper; use crate::routes::user::mapper;
use axum::{ use axum::{
Json, Json,
@@ -15,10 +16,10 @@ use uuid::Uuid;
#[utoipa::path( #[utoipa::path(
get, get,
path = "/users", path = "/users",
params(UserQueryParams),
responses( responses(
(status = 200, description = "Liste des utilisateurs récupérée avec succès", body = [UserResponse]), (status = 200, description = "Liste des utilisateurs récupérée avec succès", body = [UserResponse]),
(status = 401, description = "Non autorisé"), (status = 401, description = "Non autorisé"),
(status = 403, description = "Interdit"),
(status = 500, description = "Erreur interne du serveur") (status = 500, description = "Erreur interne du serveur")
), ),
tag = "Users", tag = "Users",
@@ -27,13 +28,16 @@ use uuid::Uuid;
) )
)] )]
pub async fn get_all( pub async fn get_all(
_admin: Superuser,
State(state): State<AppState>, State(state): State<AppState>,
Query(filters): Query<UserQueryParams>, Query(filters): Query<UserQueryParams>,
) -> Result<Json<Vec<UserResponse>>, HTTPError> { ) -> Result<Json<Vec<UserResponse>>, HTTPError> {
let users = state.repositories.user.filter(crate::repositories::types::UserFilter { let users = state
server_id: filters.server_id, .repositories
}).await?; .user
.filter(crate::repositories::types::UserFilter {
server_id: filters.server_id,
})
.await?;
Ok(Json( Ok(Json(
users users
.into_iter() .into_iter()