kleine änderungen

This commit is contained in:
2026-05-31 20:37:12 +02:00
parent a1e8d34210
commit 90a88c15dc
20 changed files with 310 additions and 449 deletions

View File

@@ -3,7 +3,6 @@ use async_graphql::{ComplexObject, Context, FieldResult, SimpleObject};
use crate::{
dataloader::LoaderContext,
domain::{gruppe::model::Gruppe, rolle::model::Rolle},
models::gruppe_ansicht::GruppeAnsicht,
scalar::Id,
};
@@ -37,12 +36,12 @@ impl Benutzer {
Ok(loader.gruppen.load_one(self.id).await?)
}
/// Die Gruppen eines Benutzer kumulativ mit den Gruppen aus den Rollen
pub async fn gruppen_kumulativ(
&self,
ctx: &Context<'_>,
) -> FieldResult<Option<Vec<GruppeAnsicht>>> {
let loader = ctx.data::<LoaderContext>()?;
Ok(loader.benutzer_gruppen_kumulativ.load_one(self.id).await?)
}
// /// Die Gruppen eines Benutzer kumulativ mit den Gruppen aus den Rollen
// pub async fn gruppen_kumulativ(
// &self,
// ctx: &Context<'_>,
// ) -> FieldResult<Option<Vec<GruppeAnsicht>>> {
// let loader = ctx.data::<LoaderContext>()?;
// Ok(loader.benutzer_gruppen_kumulativ.load_one(self.id).await?)
// }
}

View File

@@ -17,14 +17,14 @@ impl Repository {
let rows = sqlx::query!(
r#"
SELECT
bg.benutzer_id,
rg.rolle_id,
g.id,
g.gruppenname,
g.erstellt_am,
g.geaendert_am
FROM gruppen AS g
LEFT JOIN benutzer_gruppen AS bg ON g.id = bg.gruppe_id
WHERE bg.benutzer_id = ANY($1);
LEFT JOIN rollen_gruppen AS rg ON g.id = rg.gruppe_id
WHERE rg.rolle_id = ANY($1);
"#,
keys
)
@@ -33,7 +33,7 @@ impl Repository {
.into_iter()
.map(|row| {
(
row.benutzer_id,
row.rolle_id,
Gruppe {
id: row.id,
gruppenname: row.gruppenname,

View File

@@ -13,7 +13,7 @@ impl Repository {
const QUERY: &str = r#"
UPDATE gruppen
SET geaendert_am = $2, ruppenname = $3 WHERE gruppeid = $1
RETURNING id, geaendert_am, gruppenname, gruppenname;
RETURNING id, geaendert_am, erstellt_am, gruppenname;
"#;
let gruppe = sqlx::query_as::<_, model::Gruppe>(QUERY)

View File

@@ -9,7 +9,7 @@ impl Service {
&self,
keys: &[Id],
) -> Result<HashMap<Id, Vec<Gruppe>>, Arc<sqlx::Error>> {
let grupen_dataloader = self.repo.gruppe_dataloader(&self.db, keys).await?;
Ok(grupen_dataloader)
let gruppen_dataloader = self.repo.gruppe_dataloader(&self.db, keys).await?;
Ok(gruppen_dataloader)
}
}

View File

@@ -1,4 +1,7 @@
mod typ_alle;
mod typ_dataloader;
mod typ_einen_zeigen;
mod typ_erstelle_viele;
mod typ_erstellen;
mod typ_loeschen;
mod typ_update;

View File

@@ -6,7 +6,7 @@ use crate::{database::Queryer, domain::typ::model};
impl Repository {
pub async fn typ_alle<'c, C: Queryer<'c>>(&self, db: C) -> Result<Vec<model::Typ>, Error> {
const QUERY: &str = r#"
SELECT * FROM typen
SELECT id, erstellt_am, geaendert_am, typname FROM typen
"#;
let typen = sqlx::query_as::<_, model::Typ>(QUERY).fetch_all(db).await?;

View File

@@ -1,6 +1,7 @@
mod typ_alle;
// mod typ_dataloader;
mod typ_erstellen;
mod typ_erstellen_viele;
mod typ_loeschen;
mod typ_update;