diff --git a/package-lock.json b/package-lock.json index 9836401..c5023e0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -345,14 +345,6 @@ "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.10.0.tgz", "integrity": "sha512-3YDiu347mtVtjpyV3u5kVqQLP242c06zwDOgpeRnybmXlYYsLbtTrUBUm8i8srONt+FWobl5aibnU1030PeeuA==" }, - "axios": { - "version": "0.19.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.19.2.tgz", - "integrity": "sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA==", - "requires": { - "follow-redirects": "1.5.10" - } - }, "babel-code-frame": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", @@ -1811,29 +1803,6 @@ } } }, - "follow-redirects": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz", - "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==", - "requires": { - "debug": "=3.1.0" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } - }, "foreground-child": { "version": "1.5.6", "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-1.5.6.tgz", @@ -2494,6 +2463,39 @@ "limiter": "^1.1.5", "lru-memoizer": "^2.1.2", "ms": "^2.1.2" + }, + "dependencies": { + "axios": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.19.2.tgz", + "integrity": "sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA==", + "requires": { + "follow-redirects": "1.5.10" + } + }, + "follow-redirects": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz", + "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==", + "requires": { + "debug": "=3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + } + } + } } }, "jws": { @@ -4162,6 +4164,37 @@ "millisecond": "^0.1.2", "r7insight_node": "^1.8.4", "request": "^2.88.0" + }, + "dependencies": { + "axios": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.19.2.tgz", + "integrity": "sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA==", + "requires": { + "follow-redirects": "1.5.10" + } + }, + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + }, + "follow-redirects": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz", + "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==", + "requires": { + "debug": "=3.1.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + } } }, "test-exclude": { diff --git a/package.json b/package.json index f58befe..2974883 100755 --- a/package.json +++ b/package.json @@ -33,7 +33,7 @@ "winston": "^3.1.0" }, "engines": { - "node": "10.x" + "node": "14.x" }, "standard": { "ignore": [ diff --git a/src/common/helper.js b/src/common/helper.js index d412cc5..b5cbdc6 100755 --- a/src/common/helper.js +++ b/src/common/helper.js @@ -198,7 +198,7 @@ async function filterMemberForGroups (memberIds, groupIds) { const memberList = [] for (const memberId of memberIds) { - const res = await Promise.allSettled(groupIds.map(groupId => memberGroupsCall(groupId, memberId))) + const res = await Promise.all(groupIds.map(groupId => memberGroupsCall(groupId, memberId))) const memberGroups = _.compact(_.flattenDeep(_.map(res, 'value'))) if (memberGroups.length !== groupIds.length) memberList.push(memberId) @@ -216,12 +216,16 @@ async function filterMemberForGroups (memberIds, groupIds) { 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}` - return superagent - .get(url) - .set('Authorization', `Bearer ${token}`) - .timeout(config.REQUEST_TIMEOUT) + + try { + return superagent + .get(url) + .set('Authorization', `Bearer ${token}`) + .timeout(config.REQUEST_TIMEOUT) + } catch (error) { + return [] + } } module.exports = { diff --git a/src/services/ProcessorService.js b/src/services/ProcessorService.js index 8d3daa1..1298f46 100755 --- a/src/services/ProcessorService.js +++ b/src/services/ProcessorService.js @@ -83,7 +83,7 @@ async function handleChallengeUpdate (message) { 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.all(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}`) @@ -177,7 +177,8 @@ handleMemberRemoved.schema = { module.exports = { handleChallengeCreate, handleMemberAdded, - handleMemberRemoved + handleMemberRemoved, + handleChallengeUpdate } logger.buildService(module.exports)