added rooms operations
joining, creating new if full
This commit is contained in:
+37
-15
@@ -4,22 +4,44 @@ var router = express.Router();
|
||||
var RoomModel = require('../schemas/room');
|
||||
|
||||
//creating new room in db
|
||||
router.post('/add', function (req, res) {
|
||||
|
||||
//setting values from request to object
|
||||
let newRoom = new RoomModel({
|
||||
id: req.body.id,
|
||||
createDate: req.body.createDate,
|
||||
started: req.body.started,
|
||||
players: req.body.players,
|
||||
positions: req.body.positions
|
||||
router.post('/add', async function (req, res) {
|
||||
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(() => res.status(200).json('Added new room'))
|
||||
.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{
|
||||
console.log("Updated Docs : ", docs);
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
//saving room in db
|
||||
newRoom.save()
|
||||
.then(() => res.status(200).json('Added new room'))
|
||||
.catch(err => res.status(400).json('Error: ' + err));
|
||||
|
||||
});
|
||||
|
||||
//deleting room after game ends
|
||||
|
||||
Reference in New Issue
Block a user