From 8fc264f11b60884da9288299b6950ece1cf749f1 Mon Sep 17 00:00:00 2001 From: schneefux Date: Thu, 4 May 2017 22:30:44 +0200 Subject: add endpoint for team crunching --- server.js | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) (limited to 'server.js') diff --git a/server.js b/server.js index 98923f3..3004d39 100644 --- a/server.js +++ b/server.js @@ -368,6 +368,13 @@ async function crunchPlayer(api_id) { // global stats would increase on every player refresh otherwise } +// reset fame and crunch +// TODO: incremental crunch possible? +async function crunchTeam(team_id) { + await ch.sendToQueue(CRUNCH_QUEUE, new Buffer(team_id), + { persistent: true, type: "team" }); +} + // crunch (force = recrunch) global stats async function crunchGlobal(force=false) { // get lcpid from keys table @@ -472,7 +479,7 @@ app.post("/api/player/:name/update/:category*?", async (req, res) => { app.post("/api/player/:name/crunch", async (req, res) => { const player = await model.Player.findOne({ where: { name: req.params.name } }); if (player == undefined) { - logger.warn("player not found in db, won't recrunch", + logger.error("player not found in db, won't recrunch", { name: req.params.name }); res.sendStatus(404); return; @@ -481,6 +488,18 @@ app.post("/api/player/:name/crunch", async (req, res) => { crunchPlayer(player.api_id); // fire away res.sendStatus(204); }); +// crunch a known team +app.post("/api/team/:id/crunch", async (req, res) => { + if (await model.Team.findOne({ where: { id: req.params.id } }) == undefined) { + logger.error("team not found in db, won't recrunch", + { name: req.params.id }); + res.sendStatus(404); + return; + } + logger.info("team in db, recrunching", { name: req.params.id }); + crunchTeam(req.params.id); // fire away + res.sendStatus(204); +}); // update a random user app.post("/api/player", async (req, res) => { let player = await model.Player.findOne({ order: [ Seq.fn("RAND") ] }); -- cgit v1.3.1