From ff7fc88e36bb66a47327fa2c7e8513b222e539ef Mon Sep 17 00:00:00 2001 From: Wes Bos Date: Wed, 27 Jun 2018 13:02:25 -0400 Subject: Video 21 --- .../20/backend/src/resolvers/Mutation.js | 36 ++++++++++++++++++++++ .../20/backend/src/resolvers/Query.js | 13 ++++++++ stepped-solutions/20/backend/src/schema.graphql | 11 +++++++ 3 files changed, 60 insertions(+) create mode 100755 stepped-solutions/20/backend/src/resolvers/Mutation.js create mode 100755 stepped-solutions/20/backend/src/resolvers/Query.js create mode 100755 stepped-solutions/20/backend/src/schema.graphql (limited to 'stepped-solutions/20/backend') diff --git a/stepped-solutions/20/backend/src/resolvers/Mutation.js b/stepped-solutions/20/backend/src/resolvers/Mutation.js new file mode 100755 index 0000000..de47a4e --- /dev/null +++ b/stepped-solutions/20/backend/src/resolvers/Mutation.js @@ -0,0 +1,36 @@ +const Mutations = { + async createItem(parent, args, ctx, info) { + // TODO: Check if they are logged in + + const item = await ctx.db.mutation.createItem( + { + data: { + ...args, + }, + }, + info + ); + + console.log(item); + + return item; + }, + updateItem(parent, args, ctx, info) { + // first take a copy of the updates + const updates = { ...args }; + // remove the ID from the updates + delete updates.id; + // run the update method + return ctx.db.mutation.updateItem( + { + data: updates, + where: { + id: args.id, + }, + }, + info + ); + }, +}; + +module.exports = Mutations; diff --git a/stepped-solutions/20/backend/src/resolvers/Query.js b/stepped-solutions/20/backend/src/resolvers/Query.js new file mode 100755 index 0000000..eef01ec --- /dev/null +++ b/stepped-solutions/20/backend/src/resolvers/Query.js @@ -0,0 +1,13 @@ +const { forwardTo } = require('prisma-binding'); + +const Query = { + items: forwardTo('db'), + item: forwardTo('db'), + // async items(parent, args, ctx, info) { + // console.log('Getting Items!!'); + // const items = await ctx.db.query.items(); + // return items; + // }, +}; + +module.exports = Query; diff --git a/stepped-solutions/20/backend/src/schema.graphql b/stepped-solutions/20/backend/src/schema.graphql new file mode 100755 index 0000000..bdc131f --- /dev/null +++ b/stepped-solutions/20/backend/src/schema.graphql @@ -0,0 +1,11 @@ +# import * from './generated/prisma.graphql' + +type Mutation { + createItem(title: String, description: String, price: Int, image: String, largeImage: String): Item! + updateItem(id: ID!, title: String, description: String, price: Int): Item! +} + +type Query { + items: [Item]! + item(where: ItemWhereUniqueInput!): Item +} -- cgit v1.3