UNPKG

cosmer

Version:

**¡Aplicaciones para dispositivos moviles

57 lines (46 loc) • 1.32 kB
const express = require('express') const cors = require('cors') const { ApolloServer } = require('apollo-server-express') const { resolvers, typeDefs } = require('./schema') const jwt = require('express-jwt') // this is not secure! this is for dev purposes process.env.JWT_SECRET = process.env.JWT_SECRET || 'somereallylongsecretkey' const PORT = process.env.PORT || 3500 const app = express() const { categories } = require('./db.json') app.use(cors()) // auth middleware const auth = jwt({ secret: process.env.JWT_SECRET, credentialsRequired: false }) require('./adapter') const server = new ApolloServer({ introspection: true, // do this only for dev purposes playground: true, // do this only for dev purposes typeDefs, resolvers, context: ({ req }) => { const { id, email } = req.user || {} return { id, email } } }) app.use(auth) const errorHandler = (err, req, res, next) => { if (res.headersSent) { return next(err) } const { status } = err res.status(status).json(err) } app.use(errorHandler) server.applyMiddleware({ app, path: '/graphql' }) app.get('/categories', function (req, res) { res.send(categories) }) if (!process.env.NOW_REGION) { app.listen(PORT, () => { console.log(`Listening at http://localhost:${PORT}/graphql`) }) } module.exports = app