Files
axum-async-graphql/src/domain/benutzer/mutation/benutzer.rs

50 lines
1.5 KiB
Rust
Raw Normal View History

use crate::domain::benutzer::{
model::{Benutzer, BenutzerErstellenInput},
service::Service,
};
use async_graphql::{Context, FieldResult};
use sqlx::postgres::PgPool;
#[derive(Default)]
pub struct BenutzerMutation;
#[async_graphql::Object]
impl BenutzerMutation {
async fn erstelle_benutzer(
&self,
ctx: &Context<'_>,
input: BenutzerErstellenInput,
) -> FieldResult<Benutzer> {
let pool = ctx.data::<PgPool>()?.clone();
let benutzer = Service::new(pool).benutzer_erstellen(input).await?;
Ok(benutzer)
}
// async fn erstelle_viele_benutzer(
// &self,
// ctx: &Context<'_>,
// input: Vec<BenutzerErstelleInput>,
// ) -> FieldResult<Vec<Benutzer>> {
// let pool = ctx.data::<PgPool>()?.clone();
//
// let benutzer = Service::new(pool).benutzer_erstellen_viele(&input).await?;
// Ok(benutzer)
// }
//
// async fn update_benutzer(&self, ctx: &Context<'_>, input: BenutzerUpdateInput) -> FieldResult<Benutzer> {
// let pool = ctx.data::<PgPool>()?;
//
// let benutzer = Service::new(pool.clone()).benutzer_update(input).await?;
// Ok(benutzer)
// }
//
// async fn loesche_benutzer(&self, ctx: &Context<'_>, input: BenutzerLoeschenInput) -> FieldResult<Benutzer> {
// let pool = ctx.data::<PgPool>()?.clone();
//
// let benutzer = Service::new(pool).benutzer_loeschen(input).await?;
// Ok(benutzer)
// }
}