From ef1be9f31a9d31a53b0be1d7eebecf15f99961b4 Mon Sep 17 00:00:00 2001 From: narekcat Date: Wed, 23 Sep 2020 13:59:29 +0400 Subject: [PATCH 1/2] fix: for issue #4784 --- src/services/terms.js | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/src/services/terms.js b/src/services/terms.js index 82184f1b..1a24e734 100644 --- a/src/services/terms.js +++ b/src/services/terms.js @@ -95,10 +95,21 @@ class TermsService { * @param {Number|String} termId id of the term * @return {Promise} promise of the request result */ - getTermDetails(termId) { - // looks like server cache responses, to prevent it we add nocache param with always new value - return this.private.api.get(`/terms/${termId}`) - .then(res => (res.ok ? res.json() : Promise.reject(res.json()))); + async getTermDetails(termId) { + let termDetails = {}; + let isLegacyTerm = false; + if (/^[\d]{5,8}$/.test(termId)) { + isLegacyTerm = true; + termDetails = await this.private.api.get(`/terms?legacyId=${termId}`) + .then(res => (res.ok ? res.json() : Promise.reject(res.json()))); + } else { + termDetails = await this.private.api.get(`/terms/${termId}`) + .then(res => (res.ok ? res.json() : Promise.reject(res.json()))); + } + return { + ...termDetails, + isLegacyTerm, + }; } /** From 3cb3059db78c0ea38396b1e90267011f0d0bbc02 Mon Sep 17 00:00:00 2001 From: Luiz Ricardo Rodrigues Date: Wed, 23 Sep 2020 21:23:55 -0300 Subject: [PATCH 2/2] Terms: update result pass from legacyId call --- src/services/terms.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/services/terms.js b/src/services/terms.js index 1a24e734..affd8ad9 100644 --- a/src/services/terms.js +++ b/src/services/terms.js @@ -101,7 +101,8 @@ class TermsService { if (/^[\d]{5,8}$/.test(termId)) { isLegacyTerm = true; termDetails = await this.private.api.get(`/terms?legacyId=${termId}`) - .then(res => (res.ok ? res.json() : Promise.reject(res.json()))); + .then(res => (res.ok ? res.json() : Promise.reject(res.json()))) + .then(res => (res.result ? res.result[0] : Promise.reject(res.json()))); } else { termDetails = await this.private.api.get(`/terms/${termId}`) .then(res => (res.ok ? res.json() : Promise.reject(res.json())));