36 lines
716 B
TypeScript
36 lines
716 B
TypeScript
import dotenv from 'dotenv';
|
|
dotenv.config();
|
|
|
|
import { ApolloServer } from 'apollo-server';
|
|
|
|
import { dbConfig } from './config';
|
|
import { typeDefs } from './schema';
|
|
import resolvers from './resolvers';
|
|
|
|
import { OrderAPI } from './datasources/order';
|
|
|
|
// set up any dataSources our resolvers need
|
|
const dataSources = () => ({
|
|
orderApi: new OrderAPI(dbConfig),
|
|
});
|
|
|
|
const context = async ({ req }) => {
|
|
return { data: { foo: 'bar' } };
|
|
};
|
|
|
|
async function main() {
|
|
const server = new ApolloServer({
|
|
typeDefs,
|
|
resolvers,
|
|
dataSources,
|
|
context,
|
|
introspection: true,
|
|
playground: true,
|
|
});
|
|
|
|
await server.listen();
|
|
|
|
console.log('Server is running on http://localhost:4000');
|
|
}
|
|
main();
|