ifms-pti/server/src/server.js

45 lines
1003 B
JavaScript
Raw Normal View History

2020-11-06 13:31:28 +00:00
import { ApolloServer } from 'apollo-server'
import responseCachePlugin from 'apollo-server-plugin-response-cache'
2020-12-14 20:51:43 +00:00
import { ad } from './lib/activeDirectory'
2020-11-06 13:31:28 +00:00
import { typeDefs } from './typeDefs'
import { resolvers } from './resolvers'
import { schemaDirectives } from './schemaDirectives'
const server = new ApolloServer({
cors:
process.env.NODE_ENV === 'production'
? {
origin: ['http://ti.pp.ifms.edu.br']
}
: true,
typeDefs,
resolvers,
2020-12-03 21:27:03 +00:00
subscriptions: {
2020-12-03 21:50:25 +00:00
onConnect: connectionParams => {
return {
2020-12-04 22:40:47 +00:00
authorization: connectionParams.Authorization
2020-12-03 21:50:25 +00:00
}
}
2020-12-03 21:27:03 +00:00
},
2020-11-06 13:31:28 +00:00
schemaDirectives,
2020-12-03 21:27:03 +00:00
context: ({ req, connection }) => {
2020-11-06 13:31:28 +00:00
return {
ad,
2020-12-03 21:27:03 +00:00
connection,
2020-11-06 13:31:28 +00:00
req
}
2020-12-03 21:27:03 +00:00
},
2020-11-06 13:31:28 +00:00
plugins: [
responseCachePlugin({
sessionId: requestContext =>
2020-12-14 20:22:36 +00:00
requestContext.request.http.headers.get('Authorization') ||
requestContext.request.http.headers.get('authorization') ||
null
2020-11-06 13:31:28 +00:00
})
]
})
export { server }