From 015a8a7349bdcadac6efbd9b56beb9609a7c0a56 Mon Sep 17 00:00:00 2001 From: maxceem Date: Mon, 16 Aug 2021 17:46:22 +0300 Subject: [PATCH] Revert "New "Handling missing skill data enrichment via API call"" --- config/default.js | 6 ++---- docs/swagger.yaml | 48 +++++++++++++++++++------------------------- src/common/helper.js | 15 +++++++------- 3 files changed, 31 insertions(+), 38 deletions(-) diff --git a/config/default.js b/config/default.js index 88d8fc8c..f8a36902 100644 --- a/config/default.js +++ b/config/default.js @@ -33,12 +33,10 @@ module.exports = { // the Topcoder v5 url TC_API: process.env.TC_API || 'https://api.topcoder-dev.com/v5', - // the Topcoder Beta API url currently v5.1 - TC_BETA_API: process.env.TC_BETA_API || 'https://api.topcoder-dev.com/v5.1', // the organization id ORG_ID: process.env.ORG_ID || '36ed815b-3da1-49f1-a043-aaed0a4e81ad', - // the referenced taxonomy id - TOPCODER_TAXONOMY_ID: process.env.TOPCODER_TAXONOMY_ID || '7637ae1a-3b7c-44eb-a5ed-10ea02f1885d', + // the referenced skill provider id + TOPCODER_SKILL_PROVIDER_ID: process.env.TOPCODER_SKILL_PROVIDER_ID || '9cc0795a-6e12-4c84-9744-15858dba1861', TOPCODER_USERS_API: process.env.TOPCODER_USERS_API || 'https://api.topcoder-dev.com/v3/users', // the api to find topcoder members diff --git a/docs/swagger.yaml b/docs/swagger.yaml index dced7a41..5ebb6f3e 100644 --- a/docs/swagger.yaml +++ b/docs/swagger.yaml @@ -3212,7 +3212,7 @@ paths: schema: type: array items: - $ref: "#/components/schemas/SkillInSkillsAPI" + $ref: "#/components/schemas/UbahnSkill" headers: X-Next-Page: schema: @@ -5574,25 +5574,17 @@ components: type: string example: "React" description: The skill name. - SkillInSkillsAPI: - required: - - "id" - - "name" - - "taxonomyId" - - "taxonomyName" - - "metadata" + UbahnSkill: + type: object properties: id: type: "string" format: "UUID" description: "The skill id" - taxonomyId: + skillProviderId: type: "string" format: "UUID" - description: "The referenced taxonomy id" - taxonomyName: - type: "string" - description: "The referenced taxonomy name" + description: "The referenced skill provider id" name: type: "string" description: "The name of the skill" @@ -5602,20 +5594,22 @@ components: uri: type: "string" description: "The uri for the skill" - metadata: - type: "object" - description: "The metadata for the skill" - properties: - updated: - type: "string" - format: "date-time" - description: "The last updated timestamp of the skill" - challengeProminence: - type: "string" - description: "The challenge prominence ranging from [0, 1]" - memberProminence: - type: "string" - description: "The member prominence ranging from [0, 1]" + created: + type: "string" + format: "date-time" + description: "When the entity was created." + updated: + type: "string" + format: "date-time" + description: "When the entity was updated." + createdBy: + type: "string" + format: "UUID" + description: "Creator of the entity." + updatedBy: + type: "string" + format: "UUID" + description: "User that last updated the entity." JobForTeam: properties: id: diff --git a/src/common/helper.js b/src/common/helper.js index 25ac2bb4..b0a9bd21 100644 --- a/src/common/helper.js +++ b/src/common/helper.js @@ -951,7 +951,6 @@ async function listUsersByExternalId (externalId) { context: 'listUserByExternalId', message: `response body: ${JSON.stringify(res.body)}` }) - return res.body } @@ -1094,7 +1093,9 @@ async function getUserById (userId, enrich) { const user = _.pick(res.body, ['id', 'handle', 'firstName', 'lastName']) if (enrich) { - user.skills = await Promise.all((res.body.skills || []).map(async (userSkill) => getSkillById(userSkill.skillId))) + user.skills = (res.body.skills || []).map((skillObj) => + _.pick(skillObj.skill, ['id', 'name']) + ) const attributes = _.get(res, 'body.attributes', []) user.attributes = _.map(attributes, (attr) => _.pick(attr, ['id', 'value', 'attribute.id', 'attribute.name']) @@ -1211,7 +1212,7 @@ async function getProjectById (currentUser, id) { /** * Function to search skills from v5/skills - * - only returns skills from Topcoder Skills API defined by `TOPCODER_TAXONOMY_ID` + * - only returns skills from Topcoder Skills Provider defined by `TOPCODER_SKILL_PROVIDER_ID` * * @param {Object} criteria the search criteria * @returns the request result @@ -1220,9 +1221,9 @@ async function getTopcoderSkills (criteria) { const token = await getM2MUbahnToken() try { const res = await request - .get(`${config.TC_BETA_API}/skills`) + .get(`${config.TC_API}/skills`) .query({ - taxonomyId: config.TOPCODER_TAXONOMY_ID, + skillProviderId: config.TOPCODER_SKILL_PROVIDER_ID, ...criteria }) .set('Authorization', `Bearer ${token}`) @@ -1248,7 +1249,7 @@ async function getTopcoderSkills (criteria) { /** * Function to search and retrive all skills from v5/skills - * - only returns skills from Topcoder Skills API defined by `TOPCODER_TAXONOMY_ID` + * - only returns skills from Topcoder Skills Provider defined by `TOPCODER_SKILL_PROVIDER_ID` * * @param {Object} criteria the search criteria * @returns the request result @@ -1272,7 +1273,7 @@ async function getAllTopcoderSkills (criteria) { async function getSkillById (skillId) { const token = await getM2MUbahnToken() const res = await request - .get(`${config.TC_BETA_API}/skills/${skillId}`) + .get(`${config.TC_API}/skills/${skillId}`) .set('Authorization', `Bearer ${token}`) .set('Content-Type', 'application/json') .set('Accept', 'application/json')