init
This commit is contained in:
@@ -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
|
||||||
|
.repositories
|
||||||
|
.user
|
||||||
|
.filter(crate::repositories::types::UserFilter {
|
||||||
server_id: filters.server_id,
|
server_id: filters.server_id,
|
||||||
}).await?;
|
})
|
||||||
|
.await?;
|
||||||
Ok(Json(
|
Ok(Json(
|
||||||
users
|
users
|
||||||
.into_iter()
|
.into_iter()
|
||||||
|
|||||||
Reference in New Issue
Block a user