-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathapp.ts
35 lines (27 loc) · 869 Bytes
/
app.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import * as express from "express";
import { connect } from "mongoose";
import { ApolloServer, gql } from "apollo-server-express";
import { createServer } from "http";
import graphqlSchema from "./graphql/schema";
import resolvers from "./graphql/resolvers";
require("events").defaultMaxListeners = 0;
connect(process.env.MONGO_DB_URL, {
useNewUrlParser: true,
useUnifiedTopology: true,
useCreateIndex: true,
});
const apollo = new ApolloServer({
typeDefs: graphqlSchema,
resolvers,
});
const app = express();
apollo.applyMiddleware({ app });
app.get("/wake-up", (req, res) => {
res.json({ message: "I'm awaken!" });
});
const ws = createServer(app);
apollo.installSubscriptionHandlers(ws);
ws.listen({ port: process.env.PORT || 4000 }, () => {
console.log(`GraphQL server is running...`);
console.log(`Subscriptions server is running...`);
});