From 8af517b96507e3f4726d7a7a5928bee1a9e43c8c Mon Sep 17 00:00:00 2001 From: Gregorio Date: Sun, 3 Mar 2019 17:14:31 +0100 Subject: [PATCH] RelPopLoc --- node-entry.js | 36 ++++++++++++++++++++++++------------ src/VideoPlayer.js | 3 ++- 2 files changed, 26 insertions(+), 13 deletions(-) diff --git a/node-entry.js b/node-entry.js index 9268cc4..87c7fbe 100644 --- a/node-entry.js +++ b/node-entry.js @@ -87,17 +87,29 @@ low(new FileAsync(__dirname + '/db.json')) // production res.set({ 'Access-Control-Allow-Origin': '*' }); - let setReason = function (reason='Starter', oldObj = {}) { - if (oldObj.hasOwnProperty(reason)) { - ++oldObj[reason]; - return oldObj; - } - else { - Object.defineProperty(oldObj, - reason, { value: 1, enumerable: true, writable: true } - ) - return oldObj; + let setReason = function (reason='Starter', oldArr = [], prevId) { + // if (oldObj.hasOwnProperty(reason, prevId)) { + // ++oldObj[reason]; + // return oldObj; + // } + // else { + // Object.defineProperty(oldObj, + // reason, { value: 1, enumerable: true, writable: true } + // ) + // return oldObj; + // } + let j=oldArr.findIndex(el=>el.prevId===prevId && el.reason===reason) + if (j>=0) {++oldArr[j].timesWatched; return oldArr} + else { + let tmp={ + prevId, + reason, + timesWatched:1 + } + oldArr.push(tmp) + return oldArr } + } const videos = db.get('videos'); @@ -106,7 +118,7 @@ low(new FileAsync(__dirname + '/db.json')) // production row .update('timesWatched', (n) => ++n) .update('lastWatched', () => new Date().toISOString()) - .update('reason', (n) => setReason(req.body.reason, n)) + .update('reason', (n) => setReason(req.body.reason, n, req.body.id)) .write() .then(output => res.send(200, output)) } else { @@ -114,7 +126,7 @@ low(new FileAsync(__dirname + '/db.json')) // production "id": req.body.id.toString(), "timesWatched": 1, "lastWatched": new Date().toISOString(), - "reason": setReason(req.body.reason) + "reason": setReason(req.body.reason,[],req.body.id) } videos.push(newRow).last().write().then(output => res.send(200, output)) } diff --git a/src/VideoPlayer.js b/src/VideoPlayer.js index d9b012e..9a91693 100644 --- a/src/VideoPlayer.js +++ b/src/VideoPlayer.js @@ -90,7 +90,8 @@ class VideoPlayer extends React.Component { axios .post('http://site1854.tw.cs.unibo.it/videotrack', { id: videoIdWatched.toString(), - reason: reason || undefined + reason: reason || undefined, + prevId: localStorage['prevId'] }) .then( response => console.info(response.data),