25 lines
571 B
Rust
25 lines
571 B
Rust
|
|
use anyhow::Error;
|
||
|
|
|
||
|
|
use super::Repository;
|
||
|
|
use crate::database::Queryer;
|
||
|
|
use crate::domain::typ::{entity, model};
|
||
|
|
|
||
|
|
impl Repository {
|
||
|
|
pub async fn typ_loeschen<'c, C: Queryer<'c>>(
|
||
|
|
&self,
|
||
|
|
db: C,
|
||
|
|
typ: &entity::Typ,
|
||
|
|
) -> Result<model::Typ, Error> {
|
||
|
|
const QUERY: &str = r#"
|
||
|
|
DELETE FROM typen WHERE id=$1 RETURNING id, erstellt_am, geaendert_am, typname;
|
||
|
|
"#;
|
||
|
|
|
||
|
|
let typ = sqlx::query_as::<_, model::Typ>(QUERY)
|
||
|
|
.bind(typ.id)
|
||
|
|
.fetch_one(db)
|
||
|
|
.await?;
|
||
|
|
|
||
|
|
Ok(typ)
|
||
|
|
}
|
||
|
|
}
|