From 9145177793feae9522cd566512e24d782b5daf5a Mon Sep 17 00:00:00 2001 From: bountyCoder Date: Wed, 10 Aug 2022 19:02:18 +0000 Subject: [PATCH] fixed the lint issues --- config/default.js | 2 +- src/common/helper.js | 31 ++++++++++++++++--------------- src/services/ProcessorService.js | 8 ++++---- 3 files changed, 21 insertions(+), 20 deletions(-) diff --git a/config/default.js b/config/default.js index 15a8e52..43e7b1b 100755 --- a/config/default.js +++ b/config/default.js @@ -41,6 +41,6 @@ module.exports = { IGNORED_ORIGINATORS: process.env.IGNORED_ORIGINATORS ? process.env.IGNORED_ORIGINATORS.split(',') : ['legacy-migration-script'], GROUPS_TO_IGNORE: process.env.GROUPS_TO_IGNORE ? process.env.GROUPS_TO_IGNORE.split(',') : ['72a0b8a0-aa45-44f7-86c2-bf9de6321e5b'], - GROUPS_API_URL: process.env.GROUPS_API_URL || 'http://localhost:4000/v5/groups', + GROUPS_API_URL: process.env.GROUPS_API_URL || 'http://localhost:4000/v5/groups' } diff --git a/src/common/helper.js b/src/common/helper.js index 4761b0f..d412cc5 100755 --- a/src/common/helper.js +++ b/src/common/helper.js @@ -190,39 +190,40 @@ async function deleteResource (challengeId, memberHandle, roleId) { /** * Search members of the given group ids - * @param {Array} members - * @param {Array} groupIds + * @param {Array} members + * @param {Array} groupIds * @return {Array} filtered members */ -async function filterMemberForGroups(memberIds, groupIds) { +async function filterMemberForGroups (memberIds, groupIds) { + const memberList = [] + for (const memberId of memberIds) { - const res = await Promise.allSettled(groupIds.map(groupId => memberGroupsCall(groupId, memberId))); - const memberGroups =_.compact(_.flattenDeep(_.map(res, 'value'))) + const res = await Promise.allSettled(groupIds.map(groupId => memberGroupsCall(groupId, memberId))) + const memberGroups = _.compact(_.flattenDeep(_.map(res, 'value'))) + + if (memberGroups.length !== groupIds.length) memberList.push(memberId) + } - if (memberGroups.length != groupIds.length) memberList.push(memberId) - } + return memberList } /** - * Return the memberId if member is part of the groups - * @param {String} groupId - * @param {String} memberId + * Return the memberId if member is part of the groups + * @param {String} groupId + * @param {String} memberId * @returns {String} memberId in case of member of group */ -async function memberGroupsCall(groupId, memberId) { +async function memberGroupsCall (groupId, memberId) { // M2M token is cached by 'tc-core-library-js' lib const token = await getM2MToken() const url = `${config.GROUPS_API_URL}/${groupId}/members/${memberId}` - const res = await superagent + return superagent .get(url) .set('Authorization', `Bearer ${token}`) .timeout(config.REQUEST_TIMEOUT) - - return memberId } - module.exports = { getKafkaOptions, getProject, diff --git a/src/services/ProcessorService.js b/src/services/ProcessorService.js index b255d1f..8d3daa1 100755 --- a/src/services/ProcessorService.js +++ b/src/services/ProcessorService.js @@ -63,7 +63,7 @@ handleChallengeCreate.schema = { * Process Kafka message of challenge updated * @param {Object} message the challenge update message */ - async function handleChallengeUpdate (message) { +async function handleChallengeUpdate (message) { const challengeId = message.payload.id const projectId = message.payload.projectId logger.info(`Process message of challenge id ${challengeId} and project id ${projectId}`) @@ -80,10 +80,10 @@ handleChallengeCreate.schema = { const filteredMemberIds = await helper.filterMemberForGroups(memberIds, groupIds) // filter the members who are not part of all the groups - challengeResources = challengeResources.filter(member => filteredMemberIds.includes(member.memberId) ) - + challengeResources = challengeResources.filter(member => filteredMemberIds.includes(member.memberId)) + // remove members from resources who are not part of all the groups - await Promise.allSettled(challengeResources.map(member => helper.deleteResource(challengeId, member.memberHandle, config.RESOURCE_ROLE_ID))); + await Promise.allSettled(challengeResources.map(member => helper.deleteResource(challengeId, member.memberHandle, config.RESOURCE_ROLE_ID))) } logger.info(`Successfully processed message of challenge id ${challengeId} and project id ${projectId}`)