diff --git a/src/api/graphql/operations/assets.rs b/src/api/graphql/operations/assets.rs index b9fcd3e..0c85a4d 100644 --- a/src/api/graphql/operations/assets.rs +++ b/src/api/graphql/operations/assets.rs @@ -109,7 +109,7 @@ impl AssetsGraphQLMutation { } async fn delete_asset(&self, ctx: &Context<'_>, id: Uuid) -> Result { - let (core, _member_id) = extract_context(ctx)?; + let (core, member_id) = extract_context(ctx)?; let asset = core.engine.delete_asset(id).await?; let saved_asset = asset.clone(); @@ -117,7 +117,7 @@ impl AssetsGraphQLMutation { tokio::spawn(async move { create_change( &core, - asset.owner_id, + member_id, asset.id, ChangeOperation::Delete, ChangeResourceType::Assets, diff --git a/src/api/graphql/operations/changes.rs b/src/api/graphql/operations/changes.rs index 29c44d1..6325f7f 100644 --- a/src/api/graphql/operations/changes.rs +++ b/src/api/graphql/operations/changes.rs @@ -1,16 +1,7 @@ -use crate::api::graphql::{ - commons::{create_change, extract_context}, - resources::changes::Change, -}; +use crate::api::graphql::{commons::extract_context, resources::changes::Change}; use async_graphql::{Context, Object, Result}; -use plexo_sdk::resources::changes::{ - change::{ChangeOperation, ChangeResourceType}, - operations::{ChangeCrudOperations, CreateChangeInput, GetChangesInput, UpdateChangeInput}, -}; -use serde_json::json; -use tokio::task; -// use tokio_stream::{Stream, StreamExt}; +use plexo_sdk::resources::changes::operations::{ChangeCrudOperations, CreateChangeInput, GetChangesInput, UpdateChangeInput}; use uuid::Uuid; #[derive(Default)] @@ -59,54 +50,23 @@ impl ChangesGraphQLMutation { } async fn update_change(&self, ctx: &Context<'_>, id: Uuid, input: UpdateChangeInput) -> Result { - let (core, member_id) = extract_context(ctx)?; + let (core, _member_id) = extract_context(ctx)?; - let saved_input = input.clone(); - - let change = core.engine.update_change(id, input).await?; - - let change = change.clone(); - let saved_change = change.clone(); - - create_change( - &core, - member_id, - change.id, - ChangeOperation::Update, - ChangeResourceType::Changes, - serde_json::to_string(&json!({ - "input": saved_input, - "result": change, - })) - .unwrap(), - ) - .await - .unwrap(); - - Ok(saved_change.into()) + core.engine + .update_change(id, input) + .await + .map_err(|err| async_graphql::Error::new(err.to_string())) + .map(|change| change.into()) } async fn delete_change(&self, ctx: &Context<'_>, id: Uuid) -> Result { let (core, _member_id) = extract_context(ctx)?; - let change = core.engine.delete_change(id).await?; - let saved_change = change.clone(); - - create_change( - &core, - change.owner_id, - change.id, - ChangeOperation::Delete, - ChangeResourceType::Changes, - serde_json::to_string(&json!({ - "result": change, - })) - .unwrap(), - ) - .await - .unwrap(); - - Ok(saved_change.into()) + core.engine + .delete_change(id) + .await + .map_err(|err| async_graphql::Error::new(err.to_string())) + .map(|change| change.into()) } } diff --git a/src/api/graphql/operations/labels.rs b/src/api/graphql/operations/labels.rs index 6fd33ff..80a1bbb 100644 --- a/src/api/graphql/operations/labels.rs +++ b/src/api/graphql/operations/labels.rs @@ -109,7 +109,7 @@ impl LabelsGraphQLMutation { } async fn delete_label(&self, ctx: &Context<'_>, id: Uuid) -> Result