-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.ts
53 lines (36 loc) · 1.24 KB
/
index.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
import 'reflect-metadata'
import * as dotenv from 'dotenv';
dotenv.config()
import * as express from 'express';
import { ApolloServer } from "apollo-server-express";
import { buildSchema } from 'type-graphql';
import {ObjectIdScalar} from './src/scalars/objectId.scalar'
import {ObjectId} from 'mongodb'
import * as mongoose from 'mongoose';
//Resolvers
import {DirectorResolver} from './src/resolvers/director.resolver'
import {MovieResolver} from './src/resolvers/movie.resolver'
import {CategoryResolver} from './src/resolvers/category.resolver'
import { TypegooseMiddleware } from './src/typegoose-midlleware';
(async ()=>{
const PORT = process.env.PORT || 3000
await mongoose.connect(process.env.DB_URI).then(()=>{
console.log('DB IS CONNECTED')
});
const schema = await buildSchema({
resolvers:[DirectorResolver,MovieResolver,CategoryResolver,],
globalMiddlewares: [TypegooseMiddleware],
scalarsMap: [{ type: ObjectId, scalar: ObjectIdScalar }],
validate: false,
})
const apolloServer = new ApolloServer({
schema:schema,
})
const app = express()
apolloServer.applyMiddleware({
app
});
app.listen(PORT,()=>{
console.log("Server is started at " +PORT);
})
})()