summaryrefslogtreecommitdiffstats
path: root/js
diff options
context:
space:
mode:
authorJimmy Huynh <jimmy.huynh@etu.unistra.fr>2021-01-28 16:24:44 +0100
committerSean Molenaar <SMillerDev@users.noreply.github.com>2021-04-08 23:17:31 +0200
commita78287a77722483a99784c96c694044c22c6921b (patch)
tree9b8134d10d5c07972c720138103cea366358f0d7 /js
parentb5df8bbec96be2210408374561571f542913bc0f (diff)
(+) Blocking multiple sharing request to the same user
Signed-off-by: Marco Nassabain <marco.nassabain@hotmail.com>
Diffstat (limited to 'js')
-rw-r--r--js/controller/ShareController.js10
1 files changed, 10 insertions, 0 deletions
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 <itemId, List<Int>(user_id)>: Local mapping b/w users & articles: [Article 1 : <Jimmy, Aurelien, ...>, 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;