42 lines
1.3 KiB
Rust
42 lines
1.3 KiB
Rust
|
|
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,
|
||
|
|
),
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|