Files
axum-async-graphql/src/dataloader/mod.rs

32 lines
1009 B
Rust
Raw Normal View History

mod benutzer_gruppen_kumulativ;
mod benutzer_rollen;
mod rollen_gruppen;
2024-12-06 14:06:27 +01:00
use crate::domain::{
gruppe::dataloader::gruppen::GruppenLoader, rolle::dataloader::rollen::RollenLoader,
};
pub use benutzer_gruppen_kumulativ::BenutzerGruppenKumulativLoader;
use async_graphql::dataloader::DataLoader;
pub struct LoaderContext {
2024-12-06 14:06:27 +01:00
pub gruppen: DataLoader<GruppenLoader>,
// pub benutzer_rollen: DataLoader<BenutzerRollenLoader>,
pub rollen: DataLoader<RollenLoader>,
pub benutzer_gruppen_kumulativ: DataLoader<BenutzerGruppenKumulativLoader>,
}
impl LoaderContext {
pub fn new(pool: sqlx::PgPool) -> Self {
Self {
2024-12-06 14:06:27 +01:00
gruppen: DataLoader::new(GruppenLoader { pool: pool.clone() }, tokio::spawn),
rollen: DataLoader::new(RollenLoader { pool: pool.clone() }, tokio::spawn),
benutzer_gruppen_kumulativ: DataLoader::new(
BenutzerGruppenKumulativLoader { pool: pool.clone() },
tokio::spawn,
),
}
}
}