// server.jsconst express = require('express');const { graphqlHTTP } = require('express-graphql');const { buildSchema } = require('graphql');const cors = require( `cors` ); // deals with Cross-Origin issuesvar fakeDatabase = [{sid:parseInt(Math.random()*10000), name:'Philip', subjects:['Chemistry', 'Physics', 'Maths'], address:{ unit: 'H505', city: 'London', country: 'United Kingdom', postCode: 33100}}];var schema = buildSchema(fs.readFileSync('schema.graphql','utf8'));// Each field is either a constant or a callbackvar root = { name: ()=>fakeDatabase[0].name, sid: arg => (arg.year+"-"+fakeDatabase[0].sid), subjects: fakeDatabase[0].subjects, address: () => ({ city: ()=>fakeDatabase[0].address.city }), setName: arg => {fakeDatabase[0].name=arg.nn; return arg.nn;}};var app = express();app.use(cors());app.use('/graphql', graphqlHTTP({ schema: schema, rootValue: root, graphiql: true,}));app.listen(4000);console.log('Running a GraphQL API server at http://localhost:4000/graphql');