From 987335f51a37ee39a7b087129b00041101374a37 Mon Sep 17 00:00:00 2001 From: shinigami-eyes <> Date: Sat, 27 Oct 2018 17:02:15 +0200 Subject: [PATCH] Submit ratings to server --- extension/background.js | 34 +++++++++++++++++++++++++++++++++- extension/manifest.json | 3 ++- 2 files changed, 35 insertions(+), 2 deletions(-) diff --git a/extension/background.js b/extension/background.js index 7b0a3d4..8ce0d76 100644 --- a/extension/background.js +++ b/extension/background.js @@ -91,10 +91,42 @@ createContextMenu('Help', 'help'); var uncommittedResponse = null; +function submitPendingRatings(){ + var submitted = overrides[PENDING_SUBMISSIONS].map(x => x); + var requestBody ={ + installationId: installationId, + entries: submitted + } + console.log('Sending request'); + fetch('https://shinigami-eyes.azurewebsites.net/api/submit', { + body: JSON.stringify(requestBody), + method: 'POST', + credentials: 'omit', + }).then(response => { + response.text().then(result => { + console.log('Response: ' + result); + if(result == 'SUCCESS'){ + overrides[PENDING_SUBMISSIONS] = overrides[PENDING_SUBMISSIONS].filter(x => submitted.indexOf(x) == -1); + browser.storage.local.set({overrides: overrides}); + } + }) + + }); +} + + +var PENDING_SUBMISSIONS = ':PENDING_SUBMISSIONS' + function saveLabel(response){ if(accepted){ + if(!overrides[PENDING_SUBMISSIONS]){ + overrides[PENDING_SUBMISSIONS] = Object.getOwnPropertyNames(overrides) + .map(x => { return { identifier: x, label: overrides[x] }}); + } overrides[response.identifier] = response.mark; - browser.storage.local.set({overrides: overrides}) + browser.storage.local.set({overrides: overrides}); + overrides[PENDING_SUBMISSIONS].push(response); + submitPendingRatings(); //console.log(response); browser.tabs.sendMessage(response.tabId, { updateAllLabels: true }); //browser.tabs.executeScript(response.tabId, {code: 'updateAllLabels()'}); diff --git a/extension/manifest.json b/extension/manifest.json index 69316c1..deedc72 100644 --- a/extension/manifest.json +++ b/extension/manifest.json @@ -40,7 +40,8 @@ }, "permissions": [ "contextMenus", - "storage" + "storage", + "*://shinigami-eyes.azurewebsites.net/*" ], "applications": { "gecko": {