80 lines
2.2 KiB
JavaScript
80 lines
2.2 KiB
JavaScript
var express = require('express');
|
|
var router = express.Router();
|
|
|
|
var RoomModel = require('../schemas/room');
|
|
|
|
//creating new room in db
|
|
router.post('/add', function (req, res) {
|
|
console.log(req.session);
|
|
RoomModel.findOne( { full: false, started: false }, function (err, results) {
|
|
if (err) {
|
|
console.log(err);
|
|
}
|
|
if (!results) {
|
|
let newRoom = new RoomModel({
|
|
createDate: new Date,
|
|
full: false,
|
|
started: false,
|
|
players: [req.body.name],
|
|
});
|
|
newRoom.save()
|
|
.then( async function(){
|
|
req.session.roomId = newRoom._id;
|
|
req.session.player = req.body.name;
|
|
|
|
res.send({id: newRoom._id});
|
|
})
|
|
.catch(err => res.status(400).json('Error: ' + err))
|
|
|
|
}else {
|
|
let players = results.players;
|
|
players.push(req.body.name);
|
|
let updateObj = {
|
|
players: players,
|
|
}
|
|
players.length === 4 ? updateObj.full = true : updateObj.full = false;
|
|
RoomModel.findOneAndUpdate(
|
|
{ _id: results._id },
|
|
updateObj,
|
|
function (err, docs) {
|
|
if (err){
|
|
console.log(err)
|
|
}
|
|
else{
|
|
req.session.roomId = results._id;
|
|
req.session.player = req.body.name;
|
|
console.log("Updated Docs : ", docs);
|
|
}
|
|
}
|
|
).then(()=>{
|
|
req.session.roomId = results._id;
|
|
req.session.player = req.body.name;
|
|
console.log(req.session);
|
|
res.send({
|
|
id: results._id,
|
|
player: req.session.player
|
|
});
|
|
});
|
|
|
|
}
|
|
|
|
});
|
|
|
|
});
|
|
|
|
//deleting room after game ends
|
|
router.delete('/delete/{id}', function(req,res){
|
|
|
|
});
|
|
|
|
//editing room every move
|
|
router.put('/edit', function(req,res){
|
|
|
|
});
|
|
|
|
//get room values
|
|
router.get('/', function(req,res){
|
|
|
|
});
|
|
|
|
module.exports = router; |