Skip to content

Commit

Permalink
refactor and made function private
Browse files Browse the repository at this point in the history
  • Loading branch information
sukamat committed Nov 19, 2024
1 parent 312c81f commit 1da5630
Showing 1 changed file with 31 additions and 19 deletions.
50 changes: 31 additions & 19 deletions tools/floodbox/graybox/graybox-config.js
Original file line number Diff line number Diff line change
Expand Up @@ -32,30 +32,18 @@ class GrayboxConfig {
const resp = await this.requestHandler.daFetch(`${DA_ORIGIN}/source/${this.org}/${this.repo}${GRAYBOX_CONFIG_FILE}`);
if (resp.ok) {
const json = await resp.json();
const { 'global-config': globalConfig, 'experience-config': experienceConfig, 'global-promote-ignore-paths': globalPromoteIgnorePathsConfig } = json;
const {
'global-config': globalConfig,
'experience-config': experienceConfig,
'global-promote-ignore-paths': globalPromoteIgnorePathsConfig,
} = json;

if (globalConfig) {
const enablePromoteConfig = globalConfig.data.find(({ key }) => key === 'enablePromote');
this.isGlobalPromoteEnabled = !enablePromoteConfig || enablePromoteConfig.value === '' ? null : enablePromoteConfig.value === 'true';
const enableDeleteConfig = globalConfig.data.find(({ key }) => key === 'enableDelete');
this.isGlobalDeleteEnabled = !enableDeleteConfig || enableDeleteConfig.value === '' ? null : enableDeleteConfig.value === 'true';
const promoteDraftsOnlyConfig = globalConfig.data.find(({ key }) => key === 'promoteDraftsOnly');
this.isGlobalPromoteDraftsOnly = !promoteDraftsOnlyConfig || promoteDraftsOnlyConfig.value === '' ? null : promoteDraftsOnlyConfig.value === 'true';
this.#setGlobalConfig(globalConfig);
}

if (experienceConfig) {
const promoteConfig = experienceConfig.data.find(({ key }) => key === 'enablePromote');
if (promoteConfig) {
this.experiencePromoteConfig = promoteConfig.experienceNames.split(',').map((expName) => expName.trim());
}
const deleteConfig = experienceConfig.data.find(({ key }) => key === 'enableDelete');
if (deleteConfig) {
this.experienceDeleteConfig = deleteConfig.experienceNames.split(',').map((expName) => expName.trim());
}
const draftsOnlyConfig = experienceConfig.data.find(({ key }) => key === 'promoteDraftsOnly');
if (draftsOnlyConfig) {
this.experienceDraftsOnlyConfig = draftsOnlyConfig.experienceNames.split(',').map((expName) => expName.trim());
}
this.#setExperienceConfig(experienceConfig);
}

if (globalPromoteIgnorePathsConfig) {
Expand Down Expand Up @@ -93,6 +81,30 @@ class GrayboxConfig {
getGlobalPromoteIgnorePaths() {
return this.globalPromoteIgnorePaths;
}

#setGlobalConfig(globalConfig) {
const enablePromoteConfig = globalConfig.data.find(({ key }) => key === 'enablePromote');
this.isGlobalPromoteEnabled = !enablePromoteConfig || enablePromoteConfig.value === '' ? null : enablePromoteConfig.value === 'true';
const enableDeleteConfig = globalConfig.data.find(({ key }) => key === 'enableDelete');
this.isGlobalDeleteEnabled = !enableDeleteConfig || enableDeleteConfig.value === '' ? null : enableDeleteConfig.value === 'true';
const promoteDraftsOnlyConfig = globalConfig.data.find(({ key }) => key === 'promoteDraftsOnly');
this.isGlobalPromoteDraftsOnly = !promoteDraftsOnlyConfig || promoteDraftsOnlyConfig.value === '' ? null : promoteDraftsOnlyConfig.value === 'true';
}

#setExperienceConfig(experienceConfig) {
const promoteConfig = experienceConfig.data.find(({ key }) => key === 'enablePromote');
if (promoteConfig) {
this.experiencePromoteConfig = promoteConfig.experienceNames.split(',').map((expName) => expName.trim());
}
const deleteConfig = experienceConfig.data.find(({ key }) => key === 'enableDelete');
if (deleteConfig) {
this.experienceDeleteConfig = deleteConfig.experienceNames.split(',').map((expName) => expName.trim());
}
const draftsOnlyConfig = experienceConfig.data.find(({ key }) => key === 'promoteDraftsOnly');
if (draftsOnlyConfig) {
this.experienceDraftsOnlyConfig = draftsOnlyConfig.experienceNames.split(',').map((expName) => expName.trim());
}
}
}

export default GrayboxConfig;

0 comments on commit 1da5630

Please sign in to comment.