From 9a073bd44c861f44a8905a5e5adc96fff6c2397d Mon Sep 17 00:00:00 2001 From: bountyCoder Date: Thu, 16 Feb 2023 16:19:53 +0000 Subject: [PATCH] use the new API to get all the groupIds --- src/services/groups.js | 30 ++++++------------------------ 1 file changed, 6 insertions(+), 24 deletions(-) diff --git a/src/services/groups.js b/src/services/groups.js index 1a672a9..1d9de0f 100644 --- a/src/services/groups.js +++ b/src/services/groups.js @@ -320,33 +320,15 @@ class GroupService { * @return {Promise} Resolves to ID array. */ async getGroupTreeIds(rootGroupId, maxage = 5 * 60 * 1000) { - //TODO: Once the fix is validated and working, remove all commented code related to caching - /** - * Removing the caching mechanism, - * as the group created on the day will only be pickedup on the next day - * and stored in the cache - */ - // const now = Date.now(); - // const cache = this.private.cache.groupTreeIds; - /* Clean-up: removes stale records from the cache. */ - // const CLEAN_UP_INTERVAL = 24 * 60 * 60 * 1000; // 1 day in ms. - // if (now - cache.lastCleanUp > CLEAN_UP_INTERVAL) { - // _.forOwn(cache, ({ timestamp }, key) => { - // if (now - timestamp > CLEAN_UP_INTERVAL) delete cache[key]; - // }); - // cache.lastCleanUp = now; - // } + let url = `/groups/${rootGroupId}?flattenGroupIdTree=true`; + const response = await this.private.api.get(url); + const responseJSON = handleApiResponse(response); - /* If result is found in cache, and is fresh enough, return it. */ - // const cached = cache[rootGroupId]; - // if (cached && now - cached.timestamp < maxage) return _.clone(cached.data); + const treeIds = responseJSON.flattenGroupIdTree + treeIds.push(rootGroupId) - /* Otherwise, fetch result from the API, write it to the cache, and - * finally return that. */ - const res = reduceGroupIds(await this.getGroup(rootGroupId)); - // cache[rootGroupId] = { data: res, timestamp: now }; - return _.clone(res); + return treeIds; } /**