Skip to content

Commit

Permalink
workaround
Browse files Browse the repository at this point in the history
  • Loading branch information
andrewquang512 committed Dec 10, 2023
1 parent 933af6f commit 752b9b1
Showing 1 changed file with 35 additions and 4 deletions.
39 changes: 35 additions & 4 deletions src/handler.js
Original file line number Diff line number Diff line change
@@ -1,30 +1,57 @@
// Apollo
import { ApolloServer } from '@apollo/server';
import { ApolloServerPluginLandingPageLocalDefault } from '@apollo/server/plugin/landingPage/default';
import { ApolloServerPluginDrainHttpServer } from '@apollo/server/plugin/drainHttpServer';
import {
startServerAndCreateLambdaHandler,
handlers,
} from '@as-integrations/aws-lambda';
// Prisma
import { prisma } from './prisma/database.js';
import { expressMiddleware } from '@apollo/server/express4';
import cors from 'cors';
import express from 'express';
import http from 'http';
// Type definitions and resolvers
import typeDefs from './Type_Definitions/_typeDefs.js';
import resolvers from './resolvers/resolvers.js';
import { loggingPlugin } from './logging.js';
// Websocket
import { WebSocketServer } from 'ws';
import { useServer } from 'graphql-ws/lib/use/ws';
import { makeExecutableSchema } from '@graphql-tools/schema';

const app = express();
const httpServer = http.createServer(app);

// Creating the WebSocket server
const wsServer = new WebSocketServer({
server: httpServer,
path: '/',
});

const schema = makeExecutableSchema({ typeDefs, resolvers });
const serverCleanup = useServer({ schema }, wsServer);

const server = new ApolloServer({
typeDefs,
resolvers,
csrfPrevention: true,
cache: 'bounded',
schema,
context: () => {
return { prisma };
},
introspection: true,
plugins: [
ApolloServerPluginLandingPageLocalDefault({ embed: true }),
...(parseInt(process.env.IS_LOGGING) ? [loggingPlugin] : []),
ApolloServerPluginDrainHttpServer({ httpServer }),
{
async serverWillStart() {
return {
async drainServer() {
await serverCleanup.dispose();
},
};
},
},
],
logger: console,
});
Expand All @@ -38,5 +65,9 @@ export const handler = startServerAndCreateLambdaHandler(
console.log('###? received event=' + JSON.stringify(event));
},
],
cors: {
origin: '*',
credentials: true,
},
},
);

0 comments on commit 752b9b1

Please sign in to comment.