init
This commit is contained in:
@@ -43,16 +43,29 @@ async fn require_server_permission(
|
||||
(status = 200, description = "Liste des serveurs récupérée avec succès", body = [ServerResponse]),
|
||||
(status = 500, description = "Erreur interne du serveur")
|
||||
),
|
||||
security(("bearerAuth" = [])),
|
||||
tag = "Servers"
|
||||
)]
|
||||
pub async fn get_all(
|
||||
user: CurrentUser,
|
||||
State(state): State<AppState>,
|
||||
) -> Result<Json<Vec<ServerResponse>>, HTTPError> {
|
||||
let servers = state.repositories.server.get_all().await?;
|
||||
let unread_counts = state
|
||||
.repositories
|
||||
.read_state
|
||||
.unread_counts_by_server(user.id)
|
||||
.await?;
|
||||
Ok(Json(
|
||||
servers
|
||||
.into_iter()
|
||||
.map(mapper::server_model_to_server_response)
|
||||
.map(|server| {
|
||||
let server_id = server.id;
|
||||
mapper::server_model_to_server_response_with_unread_count(
|
||||
server,
|
||||
unread_counts.get(&server_id).copied().unwrap_or(0),
|
||||
)
|
||||
})
|
||||
.collect(),
|
||||
))
|
||||
}
|
||||
@@ -456,5 +469,6 @@ pub async fn get_tree(
|
||||
tree.orders,
|
||||
tree.channels,
|
||||
tree.categories,
|
||||
tree.unread_counts,
|
||||
)))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user