Created
February 1, 2019 17:43
-
-
Save eveporcello/b5c5169f320872e4bed8e8a4ccf4519d to your computer and use it in GitHub Desktop.
Change Data with GraphQL Mutations
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
```javascript | |
const { ApolloServer } = require("apollo-server"); | |
const typeDefs = ` | |
type Query { | |
"Count of total days skied during a season" | |
totalDays: Int | |
} | |
type Mutation { | |
"Adds a day to a skier's total number of ski days during a season" | |
addDay: Int | |
"Removes a day from a skier's total number of ski days during a season" | |
removeDay: Int | |
} | |
`; | |
let skiDays = 0; | |
const resolvers = { | |
Query: { | |
totalDays: () => skiDays | |
}, | |
Mutation: { | |
addDay: () => ++skiDays, | |
removeDay: () => --skiDays | |
} | |
}; | |
const server = new ApolloServer({ | |
typeDefs, | |
resolvers | |
}); | |
server | |
.listen() | |
.then(({ url }) => `GraphQL server listening on ${url}`) | |
.then(console.log) | |
.catch(console.error); | |
``` |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment