diff options
Diffstat (limited to 'stepped-solutions/20/backend/src')
| -rwxr-xr-x | stepped-solutions/20/backend/src/resolvers/Mutation.js | 36 | ||||
| -rwxr-xr-x | stepped-solutions/20/backend/src/resolvers/Query.js | 13 | ||||
| -rwxr-xr-x | stepped-solutions/20/backend/src/schema.graphql | 11 |
3 files changed, 60 insertions, 0 deletions
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 +} |
