diff options
Diffstat (limited to 'stepped-solutions/13')
| -rw-r--r-- | stepped-solutions/13/backend/src/createServer.js | 22 | ||||
| -rw-r--r-- | stepped-solutions/13/backend/src/db.js | 11 | ||||
| -rw-r--r-- | stepped-solutions/13/backend/src/index.js | 20 | ||||
| -rw-r--r-- | stepped-solutions/13/backend/src/resolvers/Mutation.js | 3 | ||||
| -rw-r--r-- | stepped-solutions/13/backend/src/resolvers/Query.js | 3 | ||||
| -rw-r--r-- | stepped-solutions/13/backend/src/schema.graphql | 7 |
6 files changed, 66 insertions, 0 deletions
diff --git a/stepped-solutions/13/backend/src/createServer.js b/stepped-solutions/13/backend/src/createServer.js new file mode 100644 index 0000000..c552b02 --- /dev/null +++ b/stepped-solutions/13/backend/src/createServer.js @@ -0,0 +1,22 @@ +const { GraphQLServer } = require('graphql-yoga'); +const Mutation = require('./resolvers/Mutation'); +const Query = require('./resolvers/Query'); +const db = require('./db'); + +// Create the GraphQL Yoga Server + +function createServer() { + return new GraphQLServer({ + typeDefs: 'src/schema.graphql', + resolvers: { + Mutation, + Query, + }, + resolverValidationOptions: { + requireResolversForResolveType: false, + }, + context: req => ({ ...req, db }), + }); +} + +module.exports = createServer; diff --git a/stepped-solutions/13/backend/src/db.js b/stepped-solutions/13/backend/src/db.js new file mode 100644 index 0000000..8f66240 --- /dev/null +++ b/stepped-solutions/13/backend/src/db.js @@ -0,0 +1,11 @@ +// This file connects to the remote prisma DB and gives us the ability to query it with JS +const { Prisma } = require('prisma-binding'); + +const db = new Prisma({ + typeDefs: 'src/generated/prisma.graphql', + endpoint: process.env.PRISMA_ENDPOINT, + secret: process.env.PRISMA_SECRET, + debug: false, +}); + +module.exports = db; diff --git a/stepped-solutions/13/backend/src/index.js b/stepped-solutions/13/backend/src/index.js new file mode 100644 index 0000000..e2dfa96 --- /dev/null +++ b/stepped-solutions/13/backend/src/index.js @@ -0,0 +1,20 @@ +require('dotenv').config({ path: 'variables.env' }); +const createServer = require('./createServer'); +const db = require('./db'); + +const server = createServer(); + +// TODO Use express middlware to handle cookies (JWT) +// TODO Use express middlware to populate current user + +server.start( + { + cors: { + credentials: true, + origin: process.env.FRONTEND_URL, + }, + }, + deets => { + console.log(`Server is now running on port http:/localhost:${deets.port}`); + } +); diff --git a/stepped-solutions/13/backend/src/resolvers/Mutation.js b/stepped-solutions/13/backend/src/resolvers/Mutation.js new file mode 100644 index 0000000..f9bedf6 --- /dev/null +++ b/stepped-solutions/13/backend/src/resolvers/Mutation.js @@ -0,0 +1,3 @@ +const Mutations = {}; + +module.exports = Mutations; diff --git a/stepped-solutions/13/backend/src/resolvers/Query.js b/stepped-solutions/13/backend/src/resolvers/Query.js new file mode 100644 index 0000000..eebe788 --- /dev/null +++ b/stepped-solutions/13/backend/src/resolvers/Query.js @@ -0,0 +1,3 @@ +const Query = {}; + +module.exports = Query; diff --git a/stepped-solutions/13/backend/src/schema.graphql b/stepped-solutions/13/backend/src/schema.graphql new file mode 100644 index 0000000..5a1f430 --- /dev/null +++ b/stepped-solutions/13/backend/src/schema.graphql @@ -0,0 +1,7 @@ +type Mutation { + hi: String +} + +type Query { + hi: String +} |
