From ee96d89f66c9b3015a0ebff64eedb19a922f86f0 Mon Sep 17 00:00:00 2001 From: M Fikri A Date: Wed, 17 Mar 2021 13:56:26 +0700 Subject: [PATCH 1/7] Split GroupIDs By Several Chunks --- src/actions/members.js | 2 +- src/actions/profile.js | 2 +- src/services/members.js | 27 ++++++++++++++++++++------- 3 files changed, 22 insertions(+), 9 deletions(-) diff --git a/src/actions/members.js b/src/actions/members.js index 817ad5be..b1bbcbac 100644 --- a/src/actions/members.js +++ b/src/actions/members.js @@ -114,7 +114,7 @@ async function getStatsInit(handle, uuid) { * @static * @desc Create an action that loads member statistics. * @param {String} handle Member handle. - * @param {String} groupIds Group ids. + * @param {Array|String} groupIds Group ids. * @param {String} uuid Operation UUID. * @param {String} tokenV3 v3 auth token. * @return {Action} diff --git a/src/actions/profile.js b/src/actions/profile.js index 5bcb4da6..f04f31f6 100644 --- a/src/actions/profile.js +++ b/src/actions/profile.js @@ -132,7 +132,7 @@ function getStatsInit() {} * @static * @desc Creates an action that loads member's stats. * @param {String} handle Member handle. - * @param {String} groupIds Group ids. + * @param {Array|String} groupIds Group ids. * @return {Action} */ function getStatsDone(handle, groupIds) { diff --git a/src/services/members.js b/src/services/members.js index d1cd5b09..47b1aa05 100644 --- a/src/services/members.js +++ b/src/services/members.js @@ -83,17 +83,30 @@ class MembersService { /** * Gets member statistics. * @param {String} handle - * @param {String} groupIds + * @param {Array|String} groupIds * @return {Promise} Resolves to the stats object. */ async getStats(handle, groupIds) { - let res; - if (groupIds) { - res = await this.private.api.get(`/members/${handle}/stats?groupIds=${groupIds}`); - } else { - res = await this.private.api.get(`/members/${handle}/stats`); + if (!groupIds) { + const res = await this.private.api.get(`/members/${handle}/stats`); + return getApiResponsePayload(res); } - return getApiResponsePayload(res); + + const groupIdsArray = _.isArray(groupIds) ? groupIds : _.split(groupIds, ','); + const groupIdChunks = _.chunk(groupIdsArray, 50); + + const getStatRequests = _.map(groupIdChunks, async groupIdChunk => { + const res = await this.private.api.get(`/members/${handle}/stats?groupIds=${_.join(groupIdChunk)}`); + return getApiResponsePayload(res, false); + }); + const results = await Promise.all(getStatRequests); + + return _.flatten( + _.uniqBy( + _.filter(results, _.isArray), + item => item.groupId + ) + ); } /** From 79c911724f0ab1c1fc3048c3fd278b0a678f3c57 Mon Sep 17 00:00:00 2001 From: M Fikri A Date: Wed, 17 Mar 2021 14:03:57 +0700 Subject: [PATCH 2/7] Prevent Duplicate Items --- src/services/members.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/services/members.js b/src/services/members.js index 47b1aa05..34a48f54 100644 --- a/src/services/members.js +++ b/src/services/members.js @@ -101,11 +101,11 @@ class MembersService { }); const results = await Promise.all(getStatRequests); - return _.flatten( - _.uniqBy( - _.filter(results, _.isArray), - item => item.groupId - ) + return _.uniqBy( + _.flatten( + _.filter(results, _.isArray) + ), + item => item.groupId ); } From e54c54e8bc6c7f9b8adebe0ced7cb73b9cb9b035 Mon Sep 17 00:00:00 2001 From: M Fikri A Date: Wed, 17 Mar 2021 15:44:32 +0700 Subject: [PATCH 3/7] Fix Lint --- src/services/members.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/services/members.js b/src/services/members.js index 34a48f54..14cf932c 100644 --- a/src/services/members.js +++ b/src/services/members.js @@ -95,7 +95,7 @@ class MembersService { const groupIdsArray = _.isArray(groupIds) ? groupIds : _.split(groupIds, ','); const groupIdChunks = _.chunk(groupIdsArray, 50); - const getStatRequests = _.map(groupIdChunks, async groupIdChunk => { + const getStatRequests = _.map(groupIdChunks, async (groupIdChunk) => { const res = await this.private.api.get(`/members/${handle}/stats?groupIds=${_.join(groupIdChunk)}`); return getApiResponsePayload(res, false); }); @@ -103,9 +103,9 @@ class MembersService { return _.uniqBy( _.flatten( - _.filter(results, _.isArray) + _.filter(results, _.isArray), ), - item => item.groupId + item => item.groupId, ); } From 8285178613024d9400d0ab37de4b485504a2848a Mon Sep 17 00:00:00 2001 From: "Luiz R. Rodrigues" Date: Tue, 4 May 2021 04:29:42 -0300 Subject: [PATCH 4/7] Fix TC profile load --- src/services/members.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/services/members.js b/src/services/members.js index 14cf932c..ce079215 100644 --- a/src/services/members.js +++ b/src/services/members.js @@ -87,7 +87,7 @@ class MembersService { * @return {Promise} Resolves to the stats object. */ async getStats(handle, groupIds) { - if (!groupIds) { + if (!groupIds || (_.isArray(groupIds) && groupIds.length === 0)) { const res = await this.private.api.get(`/members/${handle}/stats`); return getApiResponsePayload(res); } From eece83a1bb1e3541318584f6828b45f4285f6105 Mon Sep 17 00:00:00 2001 From: "Luiz R. Rodrigues" Date: Tue, 4 May 2021 04:33:11 -0300 Subject: [PATCH 5/7] ci: added tag test-release --- .circleci/config.yml | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 0e161844..e8eac28e 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -28,7 +28,7 @@ jobs: - attach_workspace: at: . - run: echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" >> ~/.npmrc - - run: npm publish + - run: npm publish --tag test-release # dont change anything workflows: version: 2 diff --git a/package.json b/package.json index 335e9970..bb39e71b 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,7 @@ "lint:js": "./node_modules/.bin/eslint --ext .js,.jsx .", "test": "npm run lint && npm run jest" }, - "version": "1.1.7", + "version": "1000.27.13", "dependencies": { "auth0-js": "^6.8.4", "config": "^3.2.0", From 1b8d75bed72ec74fee7a0db3ee861c46dd78d282 Mon Sep 17 00:00:00 2001 From: Luiz Ricardo Rodrigues Date: Thu, 13 May 2021 12:54:48 -0300 Subject: [PATCH 6/7] ci: removed tag test-release --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index e8eac28e..0e161844 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -28,7 +28,7 @@ jobs: - attach_workspace: at: . - run: echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" >> ~/.npmrc - - run: npm publish --tag test-release + - run: npm publish # dont change anything workflows: version: 2 From 0fece444e72eed519ea33db680a1b44d5aad8272 Mon Sep 17 00:00:00 2001 From: Luiz Ricardo Rodrigues Date: Thu, 13 May 2021 12:56:12 -0300 Subject: [PATCH 7/7] fix: for issue #5308 https://github.com/topcoder-platform/community-app/issues/5308 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index bb39e71b..65aac3b3 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,7 @@ "lint:js": "./node_modules/.bin/eslint --ext .js,.jsx .", "test": "npm run lint && npm run jest" }, - "version": "1000.27.13", + "version": "1.1.8", "dependencies": { "auth0-js": "^6.8.4", "config": "^3.2.0", pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy