Files
axum-async-graphql/src/domain/benutzer/repository/benutzer_update.rs

31 lines
760 B
Rust
Raw Normal View History

use anyhow::Error;
use super::Repository;
use crate::{
database::Queryer,
domain::benutzer::{entity, model},
};
impl Repository {
pub async fn benutzer_update<'c, C: Queryer<'c>>(
&self,
db: C,
benutzer: &entity::BenutzerUpdate,
) -> Result<model::Benutzer, Error> {
const QUERY: &str = r#"
UPDATE benutzer
SET kennung = $2, geaendert_am = $3 WHERE id = $1
RETURNING id, typname, erstellt_am, geaendert_am;
"#;
let benutzer = sqlx::query_as::<_, model::Benutzer>(QUERY)
.bind(benutzer.id)
.bind(&benutzer.kennung)
.bind(benutzer.geaendert_am)
.fetch_one(db)
.await?;
Ok(benutzer)
}
}