diff options
| author | schneefux <schneefux+commit@schneefux.xyz> | 2017-11-05 16:52:29 +0100 |
|---|---|---|
| committer | schneefux <schneefux+commit@schneefux.xyz> | 2017-11-05 16:52:29 +0100 |
| commit | 0d229e85b310b5d1ba167e03f962dce2ff1aedbd (patch) | |
| tree | 0a710e3b39ee5a7f255c4e7a46ac06c3264150e5 /service_telemetry.js | |
| parent | 5103aeb5ec2ec9961a41af8d4afcf6b08da05ef4 (diff) | |
| download | bridge-0d229e85b310b5d1ba167e03f962dce2ff1aedbd.tar.gz bridge-0d229e85b310b5d1ba167e03f962dce2ff1aedbd.zip | |
do not redownload Telemetry
Diffstat (limited to 'service_telemetry.js')
| -rw-r--r-- | service_telemetry.js | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/service_telemetry.js b/service_telemetry.js index 7dfac51..a78241a 100644 --- a/service_telemetry.js +++ b/service_telemetry.js @@ -23,15 +23,27 @@ module.exports = class Analyzer extends Service { logger.info("requesting download for Telemetry", { api_id: req.params.match }); const category = req.params.category || "regular", db = this.getDatabase(category), - asset = await db.Asset.findOne({ where: { - match_api_id: req.params.match - } }); + asset = await db.Asset.findOne({ + attributes: [ "url" ], + where: { + match_api_id: req.params.match + } + }); + if (asset == undefined) { logger.error("could not find any assets for match", { api_id: req.params.match }); res.sendStatus(404); return; } + + const existing = await db.ParticipantPhases.count({ where: { match_api_id: req.params.match }}); + if (existing > 0) { + logger.info("Telemetry already downloaded", { api_id: req.params.match }); + res.sendStatus(304); + return; + } + await this.forward(this.getTarget(category), asset.url, { persistent: true, headers: { match_api_id: req.params.match } |
