diff options
author | Marco Nassabain <marco.nassabain@hotmail.com> | 2021-03-07 00:27:19 +0100 |
---|---|---|
committer | Sean Molenaar <SMillerDev@users.noreply.github.com> | 2021-04-08 23:17:31 +0200 |
commit | 4fcd4830305fa08e3d7632811d4c1aa1b03d12a4 (patch) | |
tree | 6ed0057d6b8f95621c051d4077603951e6b0ab1b | |
parent | 04cf2672c3a06dbaa7792403237e3ec9bbaf5455 (diff) |
🧹 Cleanup ShareController & ShareResource
Signed-off-by: Marco Nassabain <marco.nassabain@hotmail.com>
-rw-r--r-- | js/controller/ShareController.js | 25 | ||||
-rw-r--r-- | js/service/ShareResource.js | 2 |
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 +}); |