diff --git a/README.md b/README.md index 9a41851..a8c77c2 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,6 @@ # Embezzle A "Simple" game about resource gathering and betraying + ## Goal Sneak as much money into your "charity" as possible, try to catch other members of the board stealing funds away into their own coffers. diff --git a/index.js b/index.js index 3e5d806..3d9d5a9 100644 --- a/index.js +++ b/index.js @@ -1,18 +1,33 @@ const express = require('express') - +const bodyParser = require('body-parser'); const app = express() +app.use(bodyParser.json()); +const lobby = require("./lobby.js") //top level //get game list - +app.get('/gamelist', function (req, res) { + res.send(lobby.list()) + }) //get game details - +app.get('/gamedetails', function (req, res) { + let obj=JSON.parse(req.body) + res.send(lobby.details(obj.gameID)) + }) //post register player - +app.post('/playerregister', function (req, res) { + let obj=req.body + res.send(lobby.register(obj.name)) + }) //get an empty game made +app.post('/gamemake', function (req, res) { + let obj=JSON.parse(req.body) + res.send(lobby.register(obj.name,obj.seats,obj.ownerID)) + }) +//start a game -//gamelevel +//gamelevel (??) // get this game players @@ -26,5 +41,7 @@ const app = express() // get winner +// get round status +console.log("Up") app.listen(3000) \ No newline at end of file diff --git a/lobby.js b/lobby.js new file mode 100644 index 0000000..e47551f --- /dev/null +++ b/lobby.js @@ -0,0 +1,32 @@ +var mongo = require("./mongoHelp.js") +const uuidv4 = require('uuid/v4'); + +var lobby={ + list: () => { + mongo.get("embezzle","gamelist",{}).then(result => { + return (result) + }) + }, + details: (gameID) => { + mongo.get("embezzle","gamelist",{"gameID":gameID}).then(result => { + return (result) + }) + }, + register: (name) => { + id=uuidv4() + console.log({"_id":id,"name":name}) + mongo.put("embezzle","players",{"_id":id,"name":name}) + return(id) + }, + make: (name,seats,ownerID) => { + gameID=uuidv4() + mongo.put("embezzle","gamelist",{"gameID":gameID,"ownerID":ownerID,"name":name,"seats":seats, "status":"lobby"}) + return(gameID) + }, + start: (ownerID, gameID) => { + mongo.update("embezzle","gamelist",{"gameID":gameID,"ownerID":ownerID}, {"status":"Playing"}) + return(gameID) + }, +} + +module.exports = lobby \ No newline at end of file diff --git a/mongoHelp.js b/mongoHelp.js index e7b2682..e19fd7a 100644 --- a/mongoHelp.js +++ b/mongoHelp.js @@ -33,4 +33,12 @@ function deleteOne(db, collection, object) { client.db(db).collection(collection).deleteOne(object).then((value) =>{client.close();return value}) } -exports.deleteOne = deleteOne \ No newline at end of file +exports.deleteOne = deleteOne + +function update(db, collection, search,update) { + const client = new MongoClient(url, {useUnifiedTopology:true}) + client.connect() + client.db(db).collection(collection).update(search,update).then((value) =>{client.close();return value}) + } + + exports.update = update \ No newline at end of file diff --git a/package.json b/package.json index 0361e3a..4b0f8c4 100644 --- a/package.json +++ b/package.json @@ -13,6 +13,7 @@ "author": "nannal", "license": "ISC", "dependencies": { + "body-parser": "^1.19.0", "express": "^4.17.1", "mongodb": "^3.5.3", "uuid": "^3.4.0"