Dataloader für BenutzerGruppen und BenutzerRollen hinzugefügt

This commit is contained in:
Peter Schiwy
2024-12-02 23:44:47 +01:00
parent f410791d4b
commit bfce29c8ee
17 changed files with 419 additions and 84 deletions

41
src/dataloader/mod.rs Normal file
View File

@@ -0,0 +1,41 @@
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,
),
}
}
}