diff options
| author | schneefux <schneefux+commit@schneefux.xyz> | 2017-05-29 20:19:56 +0200 |
|---|---|---|
| committer | schneefux <schneefux+commit@schneefux.xyz> | 2017-05-29 20:19:56 +0200 |
| commit | 094e4f921adbccfcaf78b0382855982ec652f7a1 (patch) | |
| tree | 3084c8c783d83df35a4fb6b5d7d787424628cf3b /server.js | |
| parent | 81d5c8ee91727a60642dc8efb9904f242fa2281e (diff) | |
| download | bridge-094e4f921adbccfcaf78b0382855982ec652f7a1.tar.gz bridge-094e4f921adbccfcaf78b0382855982ec652f7a1.zip | |
add endpoint to grab team matches by IGNs
Diffstat (limited to 'server.js')
| -rw-r--r-- | server.js | 32 |
1 files changed, 32 insertions, 0 deletions
@@ -144,6 +144,30 @@ async function grabPlayer(name, region, last_match_created_date, id, category) { headers: { notify: "player." + name } }); } +// request grab job for multiple players' matches +async function grabPlayers(names, region, grabstart, category) { + const payload = { + "region": region, + "params": { + "filter[playerNames]": names, + "filter[createdAt-start]": grabstart.toISOString(), + "filter[gameMode]": gameModesForCategory(category), + "sort": "createdAt" + } + }; + logger.info("requesting triple player grab", { + names: names, + region: region, + category: category + }); + + await ch.sendToQueue(grabQueueForCategory(category), + new Buffer(JSON.stringify(payload)), { + persistent: true, + type: "matches", + headers: { notify: "player." + names } + }); +} // request grab jobs for a region's matches async function grabMatches(region, last_match_created_date) { @@ -530,6 +554,14 @@ app.post("/api/team/:id/crunch", async (req, res) => { crunchTeam(req.params.id); // fire away res.sendStatus(204); }); +// grab multiple users by IGN +app.post("/api/players/:region/grab/:category*?", async (req, res) => { + let grabstart = new Date(); + grabstart.setTime(grabstart.getTime() - req.query.minutesAgo * 60000); + grabPlayers(req.query.names, req.params.region, grabstart, + req.params.category || "regular"); + res.sendStatus(204); +}); // update a random user app.post("/api/player", async (req, res) => { let player = await model.Player.findOne({ order: [ Seq.fn("RAND") ] }); |
