123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- require('dotenv').config()
- const { GraphQLServer } = require('graphql-yoga')
- const cookieParser = require('cookie-parser')
- const bodyParser = require('body-parser')
- const cors = require('cors')
- const express = require('express')
- const { resolvers } = require('./src/resolvers')
- const { db, populateUser } = require('./src/db')
- const { uploadMiddleware, handleFile } = require('./src/file')
- const { authenticate } = require('./src/authenticate')
- const server = new GraphQLServer({
- typeDefs: './schema.graphql',
- resolvers,
- context: req => ({
- ...req,
- db,
- debug: true
- })
- })
- server.express.use(cookieParser())
- server.express.use(bodyParser.json())
- server.express.use(cors({ origin: process.env.FRONTEND_URL }))
- server.express.use('/static', express.static('static'))
- server.express.post('/upload', uploadMiddleware.single('file'), handleFile)
- server.express.use(authenticate)
- server.express.use(populateUser)
- server.start(
- {
- cors: {
- credentials: true,
- origin: process.env.FRONTEND_URL
- }
- },
- server => console.log(`Server is running on http://localhost:${server.port}`)
- )
|