Files
oxspeak_server/src/repositories/server_item_order.rs
T
2026-08-02 10:13:49 +02:00

23 lines
849 B
Rust

use crate::models::server_item_order;
use crate::repositories::{AnyResult, RepositoryContext};
use sea_orm::{ColumnTrait, EntityTrait, QueryFilter, QueryOrder};
use std::sync::Arc;
use uuid::Uuid;
#[derive(Clone, Debug)]
pub struct ServerItemOrderRepository {
pub context: Arc<RepositoryContext>,
}
impl ServerItemOrderRepository {
/// Récupère la liste ordonnée pour un serveur (racine ou spécifique à une catégorie)
pub async fn get_by_server(&self, server_id: Uuid) -> AnyResult<Vec<server_item_order::Model>> {
Ok(server_item_order::Entity::find()
.filter(server_item_order::Column::ServerId.eq(server_id))
.order_by_asc(server_item_order::Column::ParentCategoryId)
.order_by_asc(server_item_order::Column::OrderKey)
.all(&self.context.db)
.await?)
}
}