diff --git a/src/domain/rolle/repository/rolle_update.rs b/src/domain/rolle/repository/rolle_update.rs new file mode 100644 index 0000000..fc1f00f --- /dev/null +++ b/src/domain/rolle/repository/rolle_update.rs @@ -0,0 +1,28 @@ +use anyhow::Error; + +use super::Repository; +use crate::database::Queryer; +use crate::domain::rolle::{entity, model}; + +impl Repository { + pub async fn rolle_update<'c, C: Queryer<'c>>( + &self, + db: C, + rolle: &entity::Rolle, + ) -> Result { + const QUERY: &str = r#" + UPDATE rollen + SET geaendert_am = $2, rollennname = $3 WHERE id = $1 + RETURNING id, geaendert_am, rollenname, rollenname; + "#; + + let rolle = sqlx::query_as::<_, model::Rolle>(QUERY) + .bind(rolle.id) + .bind(rolle.geaendert_am) + .bind(&rolle.gruppenname) + .fetch_one(db) + .await?; + + Ok(rolle) + } +} diff --git a/src/domain/rolle/repository/update_rolle.rs b/src/domain/rolle/repository/update_rolle.rs deleted file mode 100644 index e69de29..0000000 diff --git a/src/domain/rolle/service/rolle_erstellen.rs b/src/domain/rolle/service/rolle_erstellen.rs index 1b87b06..195865b 100644 --- a/src/domain/rolle/service/rolle_erstellen.rs +++ b/src/domain/rolle/service/rolle_erstellen.rs @@ -17,9 +17,6 @@ impl Service { geaendert_am: Some(Utc::now()), }; - // let created_id = self.repo.rolle_erstellen(&self.db, &rolle_input).await?; - // let rolle = self.repo.find_rolle_by_id(&self.db, created_id).await?; - let rolle = self.repo.rolle_erstellen(&self.db, &rolle_input).await?; Ok(rolle) }