1
+ export { } ;
2
+ const { ApolloServer } = require ( "apollo-server" ) ;
3
+ const mysql = require ( 'mysql' ) ;
4
+ const typeDefs = require ( "./schema" ) ;
5
+ const resolvers = require ( "./resolvers" ) ;
6
+ const SQLSource = require ( "./sql_datasource" ) ;
7
+ const fs = require ( "fs" ) ;
8
+ const ws = require ( "ws" ) ;
9
+ const socket_server_port = 5000 ;
10
+ //const dbSource = require('./db')
11
+
12
+ //websocket server stuff
13
+
14
+
15
+
16
+ //apollo graph ql stuff
17
+ var db = createStore ( ) ;
18
+
19
+ const server = new ApolloServer ( {
20
+ typeDefs,
21
+ resolvers,
22
+ dataSources : ( ) => ( {
23
+ "db" : new SQLSource ( db )
24
+ } ) ,
25
+ context : ( { req} ) => {
26
+ if ( req . headers . authorization != "bread123" ) throw new Error ( "Unauthorized" ) ;
27
+ }
28
+ } ) ;
29
+
30
+ function createStore ( ) {
31
+ var db = mysql . createConnection ( {
32
+ host : 'localhost' ,
33
+ user : 'root' ,
34
+ password : 'bread123' ,
35
+ database : 'test_db' ,
36
+ insecureAuth : true ,
37
+ multipleStatements : true
38
+ } )
39
+ db . connect ( function ( err ) {
40
+ if ( err ) throw err ;
41
+ console . log ( 'Connected Successfully' )
42
+ } ) ;
43
+ fs . readdir ( "./stored_procedures/" , ( err , files ) => {
44
+ if ( err ) throw err ;
45
+ files . forEach ( file => {
46
+ fs . readFile ( './stored_procedures/' + file , 'utf-8' , async function ( err , contents ) {
47
+ if ( err ) throw err ;
48
+ new Promise ( ( resolve , reject ) => {
49
+ db . query ( contents ) , function ( err , res , fields ) {
50
+ if ( err ) reject ( err ) ;
51
+ resolve ( ) ;
52
+ }
53
+ } )
54
+ } )
55
+ } ) ;
56
+ } )
57
+ return db ;
58
+ }
59
+
60
+
61
+ server . listen ( { port : 80 } ) . then ( ( { url } : any ) => {
62
+ console . log ( `Server started on ${ url } ` ) ;
63
+ } ) ;
0 commit comments