index.js 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. /**
  2. * Configure dotenv:
  3. * https://www.npmjs.com/package/dotenv
  4. *
  5. * Configure CORS for use with localhost.
  6. */
  7. require("dotenv").config();
  8. const { GraphQLServer } = require("graphql-yoga");
  9. const cookieParser = require("cookie-parser");
  10. const bodyParser = require("body-parser");
  11. const { merge } = require("lodash");
  12. const { db, populateUser } = require("./src/db");
  13. //const user = require("./src/user");
  14. const prismaResolvers = require("./src/resolvers");
  15. const resolvers = merge(
  16. prismaResolvers.resolvers
  17. //user.resolvers
  18. );
  19. const typeDefs = ["./schema.graphql"];
  20. const server = new GraphQLServer({
  21. typeDefs,
  22. resolvers,
  23. context: req => ({
  24. ...req,
  25. db,
  26. debug: true
  27. })
  28. });
  29. server.express.use(cookieParser());
  30. server.express.use(bodyParser.json());
  31. // server.express.use(quickMiddleware)
  32. // server.express.use(user.authenticate);
  33. server.express.use(populateUser);
  34. // server.express.use("/static", express.static("static"));
  35. server.start(
  36. {
  37. cors: {
  38. credentials: true,
  39. origin: process.env.FRONTEND_URL
  40. }
  41. },
  42. server => console.log(`Server is running on http://localhost:${server.port}`)
  43. );