summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorschneefux <schneefux+commit@schneefux.xyz>2017-11-05 16:52:29 +0100
committerschneefux <schneefux+commit@schneefux.xyz>2017-11-05 16:52:29 +0100
commit0d229e85b310b5d1ba167e03f962dce2ff1aedbd (patch)
tree0a710e3b39ee5a7f255c4e7a46ac06c3264150e5
parent5103aeb5ec2ec9961a41af8d4afcf6b08da05ef4 (diff)
downloadbridge-0d229e85b310b5d1ba167e03f962dce2ff1aedbd.tar.gz
bridge-0d229e85b310b5d1ba167e03f962dce2ff1aedbd.zip
do not redownload Telemetry
-rw-r--r--service_telemetry.js18
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 }