From f39b2c80116abc1d71fcb35ffc321eca0e7d5232 Mon Sep 17 00:00:00 2001 From: Faruk AYDIN Date: Mon, 18 Oct 2021 17:29:53 +0200 Subject: [PATCH] feat: Implement deleteConnection mutation --- .../graphql/mutations/delete-connection.ts | 26 +++++++++++++++++++ packages/backend/src/graphql/root-mutation.ts | 8 +++--- 2 files changed, 31 insertions(+), 3 deletions(-) create mode 100644 packages/backend/src/graphql/mutations/delete-connection.ts diff --git a/packages/backend/src/graphql/mutations/delete-connection.ts b/packages/backend/src/graphql/mutations/delete-connection.ts new file mode 100644 index 00000000..43168080 --- /dev/null +++ b/packages/backend/src/graphql/mutations/delete-connection.ts @@ -0,0 +1,26 @@ +import { GraphQLString, GraphQLNonNull, GraphQLBoolean } from 'graphql'; +import Connection from '../../models/connection'; +import RequestWithCurrentUser from '../../types/express/request-with-current-user'; + +type Params = { + id: string, + data: object +} +const deleteConnectionResolver = async (params: Params, req: RequestWithCurrentUser) => { + await Connection.query().delete().findOne({ + user_id: req.currentUser.id, + id: params.id + }) + + return; +} + +const deleteConnection = { + type: GraphQLBoolean, + args: { + id: { type: GraphQLNonNull(GraphQLString) } + }, + resolve: (_: any, params: Params, req: RequestWithCurrentUser) => deleteConnectionResolver(params, req) +}; + +export default deleteConnection; diff --git a/packages/backend/src/graphql/root-mutation.ts b/packages/backend/src/graphql/root-mutation.ts index 92ac8275..159727df 100644 --- a/packages/backend/src/graphql/root-mutation.ts +++ b/packages/backend/src/graphql/root-mutation.ts @@ -2,13 +2,15 @@ import { GraphQLObjectType } from 'graphql'; import createConnection from './mutations/create-connection'; import createAuthLink from './mutations/create-auth-link'; import updateConnection from './mutations/update-connection'; +import deleteConnection from './mutations/delete-connection'; const rootMutation = new GraphQLObjectType({ name: 'Mutation', fields: { - createConnection: createConnection, - createAuthLink: createAuthLink, - updateConnection: updateConnection + createConnection, + createAuthLink, + updateConnection, + deleteConnection } });