ifms-pti/server/src/server.js
2020-12-14 16:22:36 -04:00

45 lines
1003 B
JavaScript
Executable File

import { ApolloServer } from 'apollo-server'
import responseCachePlugin from 'apollo-server-plugin-response-cache'
import { ad } from './lib/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,
subscriptions: {
onConnect: connectionParams => {
return {
authorization: connectionParams.Authorization
}
}
},
schemaDirectives,
context: ({ req, connection }) => {
return {
ad,
connection,
req
}
},
plugins: [
responseCachePlugin({
sessionId: requestContext =>
requestContext.request.http.headers.get('Authorization') ||
requestContext.request.http.headers.get('authorization') ||
null
})
]
})
export { server }