-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathapollo.js
More file actions
28 lines (26 loc) · 818 Bytes
/
apollo.js
File metadata and controls
28 lines (26 loc) · 818 Bytes
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
const {ApolloServer} = require('apollo-server-express');
const Dataloader = require('dataloader');
const typeDefs = require('./TypeDefs/main');
const resolvers = require('./Resolvers/main');
const loaders = require("./Loaders/main");
const {Token} = require("./Authorization/Token");
const apolloServer = new ApolloServer({
typeDefs,
resolvers,
context: async ({req}) => {
await Token(req);
return {
reqUserInfo: req.user,
loaders: {
users: new Dataloader(keys => loaders.userLoaders.bathUsers(keys)),
rooms: new Dataloader(keys => loaders.roomLoaders.bathRooms(keys))
}
}
},
formatError: (error) => {
return {
message: error.message
}
}
});
module.exports = apolloServer;