From a78287a77722483a99784c96c694044c22c6921b Mon Sep 17 00:00:00 2001 From: Jimmy Huynh Date: Thu, 28 Jan 2021 16:24:44 +0100 Subject: (+) Blocking multiple sharing request to the same user Signed-off-by: Marco Nassabain --- js/controller/ShareController.js | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'js') diff --git a/js/controller/ShareController.js b/js/controller/ShareController.js index 2977dc2c2..57722f416 100644 --- a/js/controller/ShareController.js +++ b/js/controller/ShareController.js @@ -25,7 +25,17 @@ app.controller('ShareController', function (ShareResource) { }); }; + // Dict (user_id)>: Local mapping b/w users & articles: [Article 1 : , Article 2: <...>] + this.usersSharedArticles = {}; + this.shareItem = function(itemId, userId) { + if (this.usersSharedArticles[itemId] && this.usersSharedArticles[itemId].includes(userId)) {return ; } + + // quick initialization (instead of if (...) : []) + this.usersSharedArticles[itemId] = this.usersSharedArticles[itemId] ? this.usersSharedArticles[itemId] : []; + + this.usersSharedArticles[itemId].push(userId); + var response = ShareResource.shareItem(itemId, userId); response.then((result) => { return result; -- cgit v1.2.3