first mutation

This commit is contained in:
Sergey Yarkov 2020-06-04 20:05:01 +03:00
parent 8d4528057a
commit d26dae32a1
3 changed files with 46 additions and 1 deletions

View File

@ -1,6 +1,8 @@
const { GraphQLSchema } = require('graphql')
const { Mutation } = require('./typeDefs/mutation')
const { Query } = require('./typeDefs/query')
module.exports = new GraphQLSchema({
query: Query,
mutation: Mutation,
})

View File

@ -0,0 +1,43 @@
const {
GraphQLObjectType,
GraphQLString,
GraphQLID,
GraphQLNonNull,
} = require('graphql')
const { NoteType, CategoryType } = require('./types/index')
const Notes = require('../models/note')
const Categories = require('../models/category')
const Mutation = new GraphQLObjectType({
name: 'Mutation',
fields: {
addCategory: {
type: CategoryType,
args: { title: { type: new GraphQLNonNull(GraphQLString) } },
resolve(parent, args) {
return new Categories({
title: args.title,
}).save()
},
},
addNote: {
type: NoteType,
args: {
title: { type: new GraphQLNonNull(GraphQLString) },
categoryId: { type: new GraphQLNonNull(GraphQLID) },
},
resolve(parent, args) {
return new Notes({
title: args.title,
createdAt: new Date().toISOString(),
categoryId: args.categoryId,
}).save()
},
},
},
})
module.exports = {
Mutation,
}

View File

@ -9,7 +9,7 @@ const PORT = 3001
server.use('/graphql', graphqlHTTP({ schema, graphiql: true }))
mongoose.connect(
'mongodb+srv://user:password@cluster0-1dsll.mongodb.net/todo-db?retryWrites=true&w=majority',
'mongodb+srv://sergeyyarkov:1234@cluster0-1dsll.mongodb.net/todo-db?retryWrites=true&w=majority',
{ useNewUrlParser: true, useUnifiedTopology: true }
)