From 46522c519f77009bfd060e85eea4e5aebb065a6d Mon Sep 17 00:00:00 2001 From: Emre Date: Tue, 28 Mar 2023 12:56:50 +0300 Subject: [PATCH 1/3] chore: add generated template logs --- .circleci/config.yml | 1 + src/common/phase-helper.js | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 39491dc2..841d3910 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -83,6 +83,7 @@ workflows: branches: only: - dev + - fix/template - "build-qa": context: org-global diff --git a/src/common/phase-helper.js b/src/common/phase-helper.js index 8e00312a..6328d0ef 100644 --- a/src/common/phase-helper.js +++ b/src/common/phase-helper.js @@ -25,6 +25,7 @@ class ChallengePhaseHelper { throw new errors.BadRequestError(`Invalid timeline template ID: ${timelineTemplateId}`); } const { timelineTempate } = await this.getTemplateAndTemplateMap(timelineTemplateId); + console.log("Selected timeline template", JSON.stringify(timelineTempate)); const { phaseDefinitionMap } = await this.getPhaseDefinitionsAndMap(); let fixedStartDate = undefined; const finalPhases = _.map(timelineTempate, (phaseFromTemplate) => { @@ -204,7 +205,7 @@ class ChallengePhaseHelper { async getTemplateAndTemplateMap(timelineTemplateId) { if (_.isEmpty(this.timelineTemplateMap)) { const records = await timelineTemplateService.getTimelineTemplate(timelineTemplateId); - + console.log("Returned timeline templates", JSON.stringify(records)); const map = new Map(); _.each(records.phases, (r) => { map.set(r.phaseId, r); @@ -212,6 +213,7 @@ class ChallengePhaseHelper { this.timelineTemplateMap = { timelineTempate: records.phases, timelineTemplateMap: map }; } + return this.timelineTemplateMap; } } From 17c0bcce1223b692e9ae3d3ffdca6788e9ff322c Mon Sep 17 00:00:00 2001 From: Emre Date: Tue, 28 Mar 2023 13:21:04 +0300 Subject: [PATCH 2/3] fix: clone existent templates --- src/common/phase-helper.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/common/phase-helper.js b/src/common/phase-helper.js index 6328d0ef..0d787868 100644 --- a/src/common/phase-helper.js +++ b/src/common/phase-helper.js @@ -199,7 +199,7 @@ class ChallengePhaseHelper { this.phaseDefinitionMap = { phaseDefinitions: records, phaseDefinitionMap: map }; } - return this.phaseDefinitionMap; + return _.cloneDeep(this.phaseDefinitionMap); } async getTemplateAndTemplateMap(timelineTemplateId) { @@ -213,8 +213,8 @@ class ChallengePhaseHelper { this.timelineTemplateMap = { timelineTempate: records.phases, timelineTemplateMap: map }; } - - return this.timelineTemplateMap; + console.log("All timeline templates", JSON.stringify(this.timelineTemplateMap)); + return _.cloneDeep(this.timelineTemplateMap); } } From 10750905c306b958c6358e9ad48d08972f379aa4 Mon Sep 17 00:00:00 2001 From: Emre Date: Tue, 28 Mar 2023 13:31:54 +0300 Subject: [PATCH 3/3] fix: cached templates --- src/common/phase-helper.js | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/common/phase-helper.js b/src/common/phase-helper.js index 0d787868..231991fe 100644 --- a/src/common/phase-helper.js +++ b/src/common/phase-helper.js @@ -199,22 +199,23 @@ class ChallengePhaseHelper { this.phaseDefinitionMap = { phaseDefinitions: records, phaseDefinitionMap: map }; } - return _.cloneDeep(this.phaseDefinitionMap); + return this.phaseDefinitionMap; } async getTemplateAndTemplateMap(timelineTemplateId) { - if (_.isEmpty(this.timelineTemplateMap)) { + if (_.isEmpty(this.timelineTemplateMap[timelineTemplateId])) { const records = await timelineTemplateService.getTimelineTemplate(timelineTemplateId); - console.log("Returned timeline templates", JSON.stringify(records)); const map = new Map(); _.each(records.phases, (r) => { map.set(r.phaseId, r); }); - this.timelineTemplateMap = { timelineTempate: records.phases, timelineTemplateMap: map }; + this.timelineTemplateMap[timelineTemplateId] = { + timelineTempate: records.phases, + timelineTemplateMap: map, + }; } - console.log("All timeline templates", JSON.stringify(this.timelineTemplateMap)); - return _.cloneDeep(this.timelineTemplateMap); + return this.timelineTemplateMap[timelineTemplateId]; } }