From b6158fc6c20de8ba426b422afd9e36e92ef4c7b0 Mon Sep 17 00:00:00 2001 From: bountyCoder Date: Thu, 11 Aug 2022 19:20:00 +0000 Subject: [PATCH 1/2] fixed the issue of allSetled --- package-lock.json | 109 ++++++++++++++++++++++++------- package.json | 3 +- src/common/helper.js | 21 ++++-- src/services/ProcessorService.js | 5 +- 4 files changed, 104 insertions(+), 34 deletions(-) diff --git a/package-lock.json b/package-lock.json index 9836401..1b96256 100644 --- a/package-lock.json +++ b/package-lock.json @@ -346,11 +346,24 @@ "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==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz", + "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==", "requires": { - "follow-redirects": "1.5.10" + "follow-redirects": "^1.14.9", + "form-data": "^4.0.0" + }, + "dependencies": { + "form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + } } }, "babel-code-frame": { @@ -1812,27 +1825,9 @@ } }, "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=" - } - } + "version": "1.15.1", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz", + "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==" }, "foreground-child": { "version": "1.5.6", @@ -2494,6 +2489,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 +4190,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..5270124 100755 --- a/package.json +++ b/package.json @@ -21,6 +21,7 @@ "standard": "^12.0.1" }, "dependencies": { + "axios": "^0.27.2", "bluebird": "^3.5.1", "config": "^3.0.1", "get-parameter-names": "^0.3.0", @@ -33,7 +34,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..ee27041 100755 --- a/src/common/helper.js +++ b/src/common/helper.js @@ -3,6 +3,7 @@ */ const _ = require('lodash') +const axios = require('axios') const config = require('config') const m2mAuth = require('tc-core-library-js').auth.m2m const m2m = m2mAuth(_.pick(config, ['AUTH0_URL', 'AUTH0_AUDIENCE', 'TOKEN_CACHE_TIME', 'AUTH0_PROXY_SERVER_URL'])) @@ -198,7 +199,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 +217,20 @@ 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 { + const res = await axios + .get(url, { + headers: { + 'Authorization': `Bearer ${token}` + } + }) + + return res + } 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) From fb2d6af67d8c178161ac26bda64588af93feb553 Mon Sep 17 00:00:00 2001 From: bountyCoder Date: Thu, 11 Aug 2022 19:31:59 +0000 Subject: [PATCH 2/2] removed axios package --- package-lock.json | 26 -------------------------- package.json | 1 - src/common/helper.js | 13 ++++--------- 3 files changed, 4 insertions(+), 36 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1b96256..c5023e0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -345,27 +345,6 @@ "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.10.0.tgz", "integrity": "sha512-3YDiu347mtVtjpyV3u5kVqQLP242c06zwDOgpeRnybmXlYYsLbtTrUBUm8i8srONt+FWobl5aibnU1030PeeuA==" }, - "axios": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz", - "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==", - "requires": { - "follow-redirects": "^1.14.9", - "form-data": "^4.0.0" - }, - "dependencies": { - "form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - } - } - }, "babel-code-frame": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", @@ -1824,11 +1803,6 @@ } } }, - "follow-redirects": { - "version": "1.15.1", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz", - "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==" - }, "foreground-child": { "version": "1.5.6", "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-1.5.6.tgz", diff --git a/package.json b/package.json index 5270124..2974883 100755 --- a/package.json +++ b/package.json @@ -21,7 +21,6 @@ "standard": "^12.0.1" }, "dependencies": { - "axios": "^0.27.2", "bluebird": "^3.5.1", "config": "^3.0.1", "get-parameter-names": "^0.3.0", diff --git a/src/common/helper.js b/src/common/helper.js index ee27041..b5cbdc6 100755 --- a/src/common/helper.js +++ b/src/common/helper.js @@ -3,7 +3,6 @@ */ const _ = require('lodash') -const axios = require('axios') const config = require('config') const m2mAuth = require('tc-core-library-js').auth.m2m const m2m = m2mAuth(_.pick(config, ['AUTH0_URL', 'AUTH0_AUDIENCE', 'TOKEN_CACHE_TIME', 'AUTH0_PROXY_SERVER_URL'])) @@ -220,14 +219,10 @@ async function memberGroupsCall (groupId, memberId) { const url = `${config.GROUPS_API_URL}/${groupId}/members/${memberId}` try { - const res = await axios - .get(url, { - headers: { - 'Authorization': `Bearer ${token}` - } - }) - - return res + return superagent + .get(url) + .set('Authorization', `Bearer ${token}`) + .timeout(config.REQUEST_TIMEOUT) } catch (error) { return [] }