rolle update bugfixes
This commit is contained in:
@@ -4,3 +4,4 @@ pub mod rolle_update_input;
|
|||||||
|
|
||||||
pub use rolle::Rolle;
|
pub use rolle::Rolle;
|
||||||
pub use rolle_erstelle_input::RolleErstelleInput;
|
pub use rolle_erstelle_input::RolleErstelleInput;
|
||||||
|
pub use rolle_update_input::RolleUpdateInput;
|
||||||
|
|||||||
@@ -12,14 +12,14 @@ impl Repository {
|
|||||||
) -> Result<model::Rolle, Error> {
|
) -> Result<model::Rolle, Error> {
|
||||||
const QUERY: &str = r#"
|
const QUERY: &str = r#"
|
||||||
UPDATE rollen
|
UPDATE rollen
|
||||||
SET geaendert_am = $2, rollennname = $3 WHERE id = $1
|
SET geaendert_am = $2, rollenname = $3 WHERE id = $1
|
||||||
RETURNING id, geaendert_am, rollenname, rollenname;
|
RETURNING id, erstellt_am, geaendert_am, rollenname;
|
||||||
"#;
|
"#;
|
||||||
|
|
||||||
let rolle = sqlx::query_as::<_, model::Rolle>(QUERY)
|
let rolle = sqlx::query_as::<_, model::Rolle>(QUERY)
|
||||||
.bind(rolle.id)
|
.bind(rolle.id)
|
||||||
.bind(rolle.geaendert_am)
|
.bind(rolle.geaendert_am)
|
||||||
.bind(&rolle.gruppenname)
|
.bind(&rolle.rollenname)
|
||||||
.fetch_one(db)
|
.fetch_one(db)
|
||||||
.await?;
|
.await?;
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
mod rolle_erstellen;
|
mod rolle_erstellen;
|
||||||
|
mod rolle_update;
|
||||||
|
|
||||||
use super::repository::Repository;
|
use super::repository::Repository;
|
||||||
use crate::database::DB;
|
use crate::database::DB;
|
||||||
|
|||||||
22
src/domain/rolle/service/rolle_update.rs
Normal file
22
src/domain/rolle/service/rolle_update.rs
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
use anyhow::Error;
|
||||||
|
use chrono::Utc;
|
||||||
|
|
||||||
|
use super::Service;
|
||||||
|
use crate::domain::rolle::{
|
||||||
|
entity,
|
||||||
|
model::{self, RolleUpdateInput},
|
||||||
|
};
|
||||||
|
|
||||||
|
impl Service {
|
||||||
|
pub async fn rolle_update(&self, input: RolleUpdateInput) -> Result<model::Rolle, Error> {
|
||||||
|
let rolle_input = entity::Rolle {
|
||||||
|
id: input.id,
|
||||||
|
rollenname: input.rollenname,
|
||||||
|
erstellt_am: None,
|
||||||
|
geaendert_am: Some(Utc::now()),
|
||||||
|
};
|
||||||
|
|
||||||
|
let rolle = self.repo.rolle_update(&self.db, &rolle_input).await?;
|
||||||
|
Ok(rolle)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
use crate::domain::rolle::{
|
use crate::domain::rolle::{
|
||||||
model::{Rolle, RolleErstelleInput},
|
model::{Rolle, RolleErstelleInput, RolleUpdateInput},
|
||||||
service::Service,
|
service::Service,
|
||||||
};
|
};
|
||||||
use async_graphql::{Context, FieldResult};
|
use async_graphql::{Context, FieldResult};
|
||||||
@@ -20,4 +20,11 @@ impl RolleMutation {
|
|||||||
let gruppe = Service::new(pool.clone()).rolle_erstellen(input).await?;
|
let gruppe = Service::new(pool.clone()).rolle_erstellen(input).await?;
|
||||||
Ok(gruppe)
|
Ok(gruppe)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async fn rolle_update(&self, ctx: &Context<'_>, input: RolleUpdateInput) -> FieldResult<Rolle> {
|
||||||
|
let pool = ctx.data::<PgPool>()?;
|
||||||
|
|
||||||
|
let gruppe = Service::new(pool.clone()).rolle_update(input).await?;
|
||||||
|
Ok(gruppe)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user