ifms-pti/server/src/server.js

43 lines
937 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'
import { ad } from './utils/activedirectory'
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 {
authorization: connectionParams.headers.Authorization
}
}
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 =>
requestContext.request.http.headers.get('Authorization') || null
})
]
})
export { server }