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

42 lines
1.3 KiB
Rust
Raw Normal View History

mod benutzer_gruppen;
mod benutzer_gruppen_kumulativ;
mod benutzer_rollen;
mod rollen_gruppen;
pub use benutzer_gruppen::BenutzerGruppenLoader;
pub use benutzer_gruppen_kumulativ::BenutzerGruppenKumulativLoader;
pub use benutzer_rollen::BenutzerRollenLoader;
pub use rollen_gruppen::RollenGruppenLoader;
use async_graphql::dataloader::DataLoader;
pub struct LoaderContext {
pub benutzer_gruppen: DataLoader<BenutzerGruppenLoader>,
pub benutzer_rollen: DataLoader<BenutzerRollenLoader>,
pub rollen_gruppen: DataLoader<RollenGruppenLoader>,
pub benutzer_gruppen_kumulativ: DataLoader<BenutzerGruppenKumulativLoader>,
}
impl LoaderContext {
pub fn new(pool: sqlx::PgPool) -> Self {
Self {
benutzer_gruppen: DataLoader::new(
BenutzerGruppenLoader { pool: pool.clone() },
tokio::spawn,
),
benutzer_rollen: DataLoader::new(
BenutzerRollenLoader { pool: pool.clone() },
tokio::spawn,
),
rollen_gruppen: DataLoader::new(
RollenGruppenLoader { pool: pool.clone() },
tokio::spawn,
),
benutzer_gruppen_kumulativ: DataLoader::new(
BenutzerGruppenKumulativLoader { pool: pool.clone() },
tokio::spawn,
),
}
}
}