Skip to content

Instantly share code, notes, and snippets.

@raphox
Created June 4, 2020 01:59
Show Gist options
  • Select an option

  • Save raphox/595795a0af82043ef46d038397b5fcb0 to your computer and use it in GitHub Desktop.

Select an option

Save raphox/595795a0af82043ef46d038397b5fcb0 to your computer and use it in GitHub Desktop.
require("dotenv").config();
const { ApolloServer, gql } = require("apollo-server");
const { createStore } = require("./utils");
const { merge } = require("lodash");
const RoomAPI = require("./datasources/room");
const { typeDef: Room, resolvers: roomResolvers } = require("./schemas/room");
const Query = gql`
type Query {
_empty: String
}
`;
const store = createStore();
// The ApolloServer constructor requires two parameters: your schema
// definition and your set of resolvers.
const server = new ApolloServer({
typeDefs: [Query, Room],
resolvers: merge(roomResolvers),
context: {},
dataSources: () => ({
roomAPI: new RoomAPI({ store }),
}),
});
// The `listen` method launches a web server.
server.listen().then(({ url, subscriptionsUrl }) => {
console.log(`๐Ÿš€ Server ready at ${url}`);
console.log(`๐Ÿš€ Subscriptions ready at ${subscriptionsUrl}`);
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment