From 5305a6fbf8ecb72612dea038587652e16e9b5ce4 Mon Sep 17 00:00:00 2001 From: Marios Kranitsas Date: Mon, 23 Jan 2023 15:11:23 +0200 Subject: [PATCH 1/3] Fix typo in update method --- src/services/GroupService.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/services/GroupService.js b/src/services/GroupService.js index 9def382..0ee8564 100644 --- a/src/services/GroupService.js +++ b/src/services/GroupService.js @@ -277,7 +277,7 @@ async function updateGroup(currentUser, groupId, data) { // update the cache const cache = await helper.getCacheInstance() - cache.set(group.id, updateGroup) + cache.set(group.id, updatedGroup) return updatedGroup } catch (error) { From 1d69950d3929cfd05b4961aa85d22972e50720fd Mon Sep 17 00:00:00 2001 From: Marios Kranitsas Date: Tue, 24 Jan 2023 14:08:41 +0200 Subject: [PATCH 2/3] Fix SkipCache parameter --- src/services/GroupService.js | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/src/services/GroupService.js b/src/services/GroupService.js index 9def382..20a8019 100644 --- a/src/services/GroupService.js +++ b/src/services/GroupService.js @@ -375,7 +375,7 @@ async function getGroup(currentUser, groupId, criteria) { )}` ) - if (_.has(criteria, 'skipCache')) { + if (!_.has(criteria, 'skipCache')) { criteria.skipCache = false } @@ -425,8 +425,15 @@ async function getGroup(currentUser, groupId, criteria) { ) } } - - const session = helper.createDBSession() + + let session + const getSession = () => { + if (!session) { + session = helper.createDBSession() + } + console.log('im using db instead cache') + return session + } const cache = await helper.getCacheInstance() let groupToReturn @@ -445,21 +452,21 @@ async function getGroup(currentUser, groupId, criteria) { const cachedGroupMembers = cache.get(`${groupId}-members`) if (!_.includes(cachedGroupMembers, currentUser.userId)) { - await helper.ensureGroupMember(session, group.id, currentUser.userId) + await helper.ensureGroupMember(getSession(), group.id, currentUser.userId) cachedGroupMembers.push(currentUser.userId) cache.set(`${groupId}-members`, cachedGroupMembers) } } } else { - groupToReturn = await helper.ensureExists(session, 'Group', groupId, isAdmin) + groupToReturn = await helper.ensureExists(getSession(), 'Group', groupId, isAdmin) cache.set(groupId, groupToReturn) if (!isAdmin) delete groupToReturn.status // if the group is private, the user needs to be a member of the group, or an admin if (groupToReturn.privateGroup && currentUser !== 'M2M' && !helper.hasAdminRole(currentUser)) { - await helper.ensureGroupMember(session, groupToReturn.id, currentUser.userId) + await helper.ensureGroupMember(getSession(), groupToReturn.id, currentUser.userId) cache.set(`${groupId}-members`, [currentUser.userId]) } @@ -489,7 +496,7 @@ async function getGroup(currentUser, groupId, criteria) { const flattenGroupIdTree = [] // find child groups - groupToExpand.subGroups = await helper.getChildGroups(session, groupToExpand.id) + groupToExpand.subGroups = await helper.getChildGroups(getSession(), groupToExpand.id) // add child groups to pending if needed if (!criteria.oneLevel) { _.forEach(groupToExpand.subGroups, (g) => { @@ -502,7 +509,7 @@ async function getGroup(currentUser, groupId, criteria) { } } else if (criteria.includeParentGroup && !groupToReturn.parentGroups) { // find parent groups - groupToExpand.parentGroups = await helper.getParentGroups(session, groupToExpand.id) + groupToExpand.parentGroups = await helper.getParentGroups(getSession(), groupToExpand.id) // add parent groups to pending if needed if (!criteria.oneLevel) { _.forEach(groupToExpand.parentGroups, (g) => pending.push(g)) @@ -529,7 +536,9 @@ async function getGroup(currentUser, groupId, criteria) { throw error } finally { logger.debug('Session Close') - await session.close() + if (session) { + await session.close() + } } } From 7a07135431122701ce251c1db8736c00a9bb4477 Mon Sep 17 00:00:00 2001 From: Marios Kranitsas Date: Tue, 24 Jan 2023 14:12:03 +0200 Subject: [PATCH 3/3] Remove console.log() method --- src/services/GroupService.js | 1 - 1 file changed, 1 deletion(-) diff --git a/src/services/GroupService.js b/src/services/GroupService.js index 20a8019..6aa42bf 100644 --- a/src/services/GroupService.js +++ b/src/services/GroupService.js @@ -431,7 +431,6 @@ async function getGroup(currentUser, groupId, criteria) { if (!session) { session = helper.createDBSession() } - console.log('im using db instead cache') return session } const cache = await helper.getCacheInstance()