Added unsetContestantAndWinner
This commit is contained in:
parent
61e4193455
commit
9f58f902b8
|
@ -282,6 +282,25 @@ api.post("/match/:matchId/setWinner", (req, res) => {
|
|||
.then(match => res.send({"status": "OK", "data": match}))
|
||||
.catch(err => res.send({"status": "error", "data": err}));
|
||||
});
|
||||
|
||||
api.post("/match/:matchId/unsetContestant", (req, res) => {
|
||||
let matchId = req.params.matchId;
|
||||
let contestantId = req.body.teamId;
|
||||
if (isNaN(matchId)) {
|
||||
res.json({"status": "error", "data": "matchId must be a number"});
|
||||
return
|
||||
}
|
||||
if (contestantId == undefined || isNaN(contestantId)) {
|
||||
res.json({"status": "error", "data": "contestantId must be a number"});
|
||||
return
|
||||
}
|
||||
|
||||
matchId = parseInt(matchId);
|
||||
contestantId = parseInt(contestantId);
|
||||
tmdb.unsetContestantAndWinner(matchId, contestantId)
|
||||
.then(match => res.send({"status": "OK", "data": match}))
|
||||
.catch(err => res.send({"status": "error", "data": err}));
|
||||
});
|
||||
// #endregion
|
||||
|
||||
// #region team/:teamId
|
||||
|
|
|
@ -11,6 +11,7 @@ module.exports = {
|
|||
deleteTeam: deleteTeam,
|
||||
getMatch: getMatch,
|
||||
setMatchWinner: setMatchWinner,
|
||||
unsetContestantAndWinner: unsetContestantAndWinner,
|
||||
createTournament: createTournament,
|
||||
deleteTournament: deleteTournament,
|
||||
editTournament: editTournament,
|
||||
|
@ -161,6 +162,29 @@ async function setMatchWinner(matchId, winnerId) {
|
|||
});
|
||||
}
|
||||
|
||||
async function unsetContestantAndWinner(matchId, teamId) {
|
||||
let match = await getMatch(matchId);
|
||||
return new Promise(function(resolve, reject) {
|
||||
unsetContestant(matchId, teamId)
|
||||
.then(() => {
|
||||
// Find what the child match that supplied the team
|
||||
connection.query("SELECT * FROM matches WHERE parentMatchId = ? AND winnerId = ?", [matchId, teamId], (err, childMatches) => {
|
||||
if (err) { console.log(err); reject(err); }
|
||||
if (childMatches.length != 1) {
|
||||
reject("Error: Could not find the correct child match");
|
||||
return;
|
||||
}
|
||||
let childMatch = childMatches[0];
|
||||
// Remove the winner from the child match
|
||||
setMatchWinner(childMatch.id, null)
|
||||
.then(() => { resolve(); })
|
||||
.catch(err => { reject(err); });
|
||||
});
|
||||
})
|
||||
.catch(err => { reject(err); });
|
||||
});
|
||||
}
|
||||
|
||||
// #endregion
|
||||
|
||||
// #region tournament
|
||||
|
|
Loading…
Reference in New Issue