diff options
| author | schneefux <schneefux+commit@schneefux.xyz> | 2017-04-10 19:25:52 +0200 |
|---|---|---|
| committer | schneefux <schneefux+commit@schneefux.xyz> | 2017-04-10 19:25:52 +0200 |
| commit | 9c640db98ac68bae9b77b5b36240957fb86f05f8 (patch) | |
| tree | 4ac8adfe586b5bc3ee700f44c92f6bdb77aa990b | |
| parent | 38282a3db749405330419eb9c94276a5e00cf4cf (diff) | |
| download | bridge-9c640db98ac68bae9b77b5b36240957fb86f05f8.tar.gz bridge-9c640db98ac68bae9b77b5b36240957fb86f05f8.zip | |
add cruncher API
| -rw-r--r-- | index.html | 26 | ||||
| -rw-r--r-- | server.js | 14 |
2 files changed, 19 insertions, 21 deletions
@@ -24,19 +24,8 @@ </p> <p> <form id="crunch-form"> - <div> - <input type="text" id="crunch-on"> - <label for="crunch-on">Table</label> - </div> - <div> - <input type="text" id="crunch-filter"> - <label for="crunch-filter">Filter</label> - </div> - <div> - <input type="text" id="crunch-value"> - <label for="crunch-value">Filter value</label> - </div> - <input type="submit" value="Crunch stats"> + <input type="text" id="crunch-name"> + <input type="submit" value="Crunch"> </form> </p> @@ -113,14 +102,9 @@ $("#crunch-form").submit((e) => { e.preventDefault(); - let dimension_on = $("#crunch-on").val(), - data = {}; - data[$("#crunch-filter").val()] = $("#crunch-value").val(); - $.ajax("/api/stats/" + dimension_on + "/update", { - data: JSON.stringify(data), - contentType: "application/json", - type: "POST" - }); + let ign = $("#crunch-name").val(); + subscribe(ign); + $.post("/api/player/" + ign + "/crunch"); }); </script> </body> @@ -28,6 +28,7 @@ var rabbit, ch, seq, ch = await rabbit.createChannel(); await ch.assertQueue("grab", {durable: true}); await ch.assertQueue("process", {durable: true}); + await ch.assertQueue("crunch", {durable: true}); break; } catch (err) { console.error(err); @@ -158,6 +159,19 @@ app.post("/api/player/:name/update", async (req, res) => { await updatePlayer(player); res.sendStatus(204); }); +// crunch a known user +app.post("/api/player/:name/crunch", async (req, res) => { + let player = await model.Player.findOne({ where: { name: req.params.name } }); + if (player == undefined) { + console.log("player not found in db, won't crunch", req.params.name); + res.sendStatus(404); + return; + } + console.log("player in db, crunching", req.params.name); + await ch.sendToQueue("crunch", new Buffer(player.api_id), + { persistent: true, type: "player" }); + res.sendStatus(204); +}); // update a random user app.post("/api/player", async (req, res) => { let player = await model.Player.findOne({ order: [ Seq.fn("RAND") ] }); |
