From b822e25359f4e72097cee8fda657b5499e90f773 Mon Sep 17 00:00:00 2001 From: Faruk AYDIN Date: Sun, 30 Jan 2022 12:38:35 +0300 Subject: [PATCH] feat: Implement deleteFlow mutation --- .../graphql/mutations/delete-connection.ts | 2 +- .../src/graphql/mutations/delete-flow.ts | 32 +++++++++++++++++++ packages/backend/src/graphql/root-mutation.ts | 2 ++ 3 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 packages/backend/src/graphql/mutations/delete-flow.ts diff --git a/packages/backend/src/graphql/mutations/delete-connection.ts b/packages/backend/src/graphql/mutations/delete-connection.ts index 2a159524..c056b4fe 100644 --- a/packages/backend/src/graphql/mutations/delete-connection.ts +++ b/packages/backend/src/graphql/mutations/delete-connection.ts @@ -3,8 +3,8 @@ import RequestWithCurrentUser from '../../types/express/request-with-current-use type Params = { id: string; - data: object; }; + const deleteConnectionResolver = async ( params: Params, req: RequestWithCurrentUser diff --git a/packages/backend/src/graphql/mutations/delete-flow.ts b/packages/backend/src/graphql/mutations/delete-flow.ts new file mode 100644 index 00000000..1aa7e529 --- /dev/null +++ b/packages/backend/src/graphql/mutations/delete-flow.ts @@ -0,0 +1,32 @@ +import { GraphQLString, GraphQLNonNull, GraphQLBoolean } from 'graphql'; +import RequestWithCurrentUser from '../../types/express/request-with-current-user'; + +type Params = { + id: string; +}; + +const deleteFlowResolver = async ( + params: Params, + req: RequestWithCurrentUser +) => { + await req.currentUser + .$relatedQuery('flows') + .delete() + .findOne({ + id: params.id, + }) + .throwIfNotFound(); + + return; +}; + +const deleteFlow = { + type: GraphQLBoolean, + args: { + id: { type: GraphQLNonNull(GraphQLString) }, + }, + resolve: (_: any, params: Params, req: RequestWithCurrentUser) => + deleteFlowResolver(params, req), +}; + +export default deleteFlow; diff --git a/packages/backend/src/graphql/root-mutation.ts b/packages/backend/src/graphql/root-mutation.ts index 82eb9126..fa7a8e78 100644 --- a/packages/backend/src/graphql/root-mutation.ts +++ b/packages/backend/src/graphql/root-mutation.ts @@ -7,6 +7,7 @@ import verifyConnection from './mutations/verify-connection'; import deleteConnection from './mutations/delete-connection'; import createFlow from './mutations/create-flow'; import updateFlow from './mutations/update-flow'; +import deleteFlow from './mutations/delete-flow'; import createStep from './mutations/create-step'; import deleteStep from './mutations/delete-step'; import updateStep from './mutations/update-step'; @@ -24,6 +25,7 @@ const rootMutation = new GraphQLObjectType({ deleteConnection, createFlow, updateFlow, + deleteFlow, createStep, updateStep, deleteStep,