diff options
Diffstat (limited to 'backend/src/createServer.js')
| -rw-r--r-- | backend/src/createServer.js | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/backend/src/createServer.js b/backend/src/createServer.js new file mode 100644 index 0000000..57518b2 --- /dev/null +++ b/backend/src/createServer.js @@ -0,0 +1,30 @@ +const { GraphQLServer } = require('graphql-yoga'); +const { Prisma } = require('prisma-binding'); +require('dotenv').config(); + +const Mutation = require('./resolvers/Mutation'); +const Query = require('./resolvers/Query'); +const AuthPayload = require('./resolvers/AuthPayload'); + +function createServer() { + return new GraphQLServer({ + typeDefs: 'src/schema.graphql', + resolvers: { + // detail resolvers + Mutation, + Query, + AuthPayload, + }, + context: req => ({ + ...req, + db: new Prisma({ + typeDefs: 'src/generated/prisma.graphql', + endpoint: process.env.PRISMA_ENDPOINT, // the endpoint of the Prisma DB service (value is set in .env) + secret: process.env.PRISMA_SECRET, // taken from database/prisma.yml (value is set in .env) + debug: false, // log all GraphQL queries & mutations + }), + }), + }); +} + +module.exports = createServer; |
