summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarco Nassabain <marco.nassabain@hotmail.com>2021-03-07 00:27:19 +0100
committerSean Molenaar <SMillerDev@users.noreply.github.com>2021-04-08 23:17:31 +0200
commit4fcd4830305fa08e3d7632811d4c1aa1b03d12a4 (patch)
tree6ed0057d6b8f95621c051d4077603951e6b0ab1b
parent04cf2672c3a06dbaa7792403237e3ec9bbaf5455 (diff)
🧹 Cleanup ShareController & ShareResource
Signed-off-by: Marco Nassabain <marco.nassabain@hotmail.com>
-rw-r--r--js/controller/ShareController.js25
-rw-r--r--js/service/ShareResource.js2
2 files changed, 19 insertions, 8 deletions
diff --git a/js/controller/ShareController.js b/js/controller/ShareController.js
index 66d3ce217..694843d79 100644
--- a/js/controller/ShareController.js
+++ b/js/controller/ShareController.js
@@ -5,6 +5,9 @@
* later. See the COPYING file.
*
* @author Marco Nassabain <marco.nassabain@hotmail.com>
+ * @author Nicolas Wendling <nicolas.wendling1011@gmail.com>
+ * @author Jimmy Huynh <natorisaki@gmail.com>
+ * @author Aurélien David <dav.aurelien@gmail.com>
*/
app.controller('ShareController', function (ShareResource, Loading) {
'use strict';
@@ -15,9 +18,12 @@ app.controller('ShareController', function (ShareResource, Loading) {
this.showDropDown = !this.showDropDown;
};
+ /** Array containing users to share an item with */
this.userList = [];
/**
+ * @param search Username search query
+ *
* Retrieve users matching search query using OC
*/
this.searchUsers = function(search) {
@@ -35,10 +41,17 @@ app.controller('ShareController', function (ShareResource, Loading) {
});
};
- // Dict <itemId, List<Int>(user_id)>: Local mapping b/w users & articles:
- //[Article 1 : <Jimmy, Aurelien, ...>, Article 2: <...>]
+ /** Dictionary mapping articles to users they're shared with */
this.usersSharedArticles = {};
+ /**
+ * @param itemId ID of the item to be shared
+ * @param userId ID of the recipient
+ *
+ * Call the /share route with the appropriate params to share an item.
+ * Fills this.usersSharedArticles to avoid re-sharing the same article
+ * with the same user multiple times.
+ */
this.shareItem = function(itemId, userId) {
Loading.setLoading(userId, true);
if (this.usersSharedArticles[itemId] && this.usersSharedArticles[itemId].includes(userId)) {
@@ -46,16 +59,14 @@ app.controller('ShareController', function (ShareResource, Loading) {
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) => {
+ ShareResource.shareItem(itemId, userId)
+ .then((result) => {
Loading.setLoading(userId, false);
return result;
});
};
-}); \ No newline at end of file
+});
diff --git a/js/service/ShareResource.js b/js/service/ShareResource.js
index f68918ca3..ff390a9e2 100644
--- a/js/service/ShareResource.js
+++ b/js/service/ShareResource.js
@@ -34,4 +34,4 @@ app.factory('ShareResource', function (Resource, $http, BASE_URL) {
return new ShareResource($http, BASE_URL);
-}); \ No newline at end of file
+});