index.js 851 B

12345678910111213141516171819202122232425262728293031323334
  1. require('dotenv').config()
  2. const { GraphQLServer } = require('graphql-yoga')
  3. const multer = require('multer')
  4. const { resolvers } = require('./src/resolvers')
  5. const { db } = require('./src/db')
  6. const upload = multer({ dest: './static/uploads/' })
  7. const server = new GraphQLServer({
  8. typeDefs: './schema.graphql',
  9. resolvers,
  10. context: req => ({
  11. ...req,
  12. db,
  13. debug: true
  14. })
  15. })
  16. server.express.post('/upload', upload.single('file'), async (req, res) => {
  17. const { file } = req
  18. if (!file) await res.json({ error: 'File not received.' })
  19. await res.json({ file })
  20. })
  21. server.express.get('/upload', async (req, res) => res.json({ very: 'good' }))
  22. server.start(
  23. {
  24. cors: {
  25. credentials: true,
  26. origin: process.env.FRONTEND_URL
  27. }
  28. },
  29. server => console.log(`Server is running on http://localhost:${server.port}`)
  30. )