From c7d994f21ae4d11ad721bd08ab31dec44eb1bcf8 Mon Sep 17 00:00:00 2001 From: petruki <31597636+petruki@users.noreply.github.com> Date: Tue, 18 Jun 2024 20:32:34 -0700 Subject: [PATCH] Fixes disable metric flag with not active environments --- src/client/resolvers.js | 7 ++++--- src/external/switcher-api-facade.js | 16 +++++----------- src/models/config.js | 4 +++- 3 files changed, 12 insertions(+), 15 deletions(-) diff --git a/src/client/resolvers.js b/src/client/resolvers.js index b32c8ad..f1cfb02 100644 --- a/src/client/resolvers.js +++ b/src/client/resolvers.js @@ -202,10 +202,11 @@ async function resolveRelay(config, environment, entry, response) { } function isMetricDisabled(config, environment) { - if (config.disable_metrics) { - return config.disable_metrics[environment]; + if (config.disable_metrics[environment] === undefined) { + return true; } - return false; + + return config.disable_metrics[environment]; } function checkFlags(config, group, domain, environment) { diff --git a/src/external/switcher-api-facade.js b/src/external/switcher-api-facade.js index 78bddfe..19ebb9a 100644 --- a/src/external/switcher-api-facade.js +++ b/src/external/switcher-api-facade.js @@ -152,21 +152,15 @@ export async function checkMetrics(config) { } const { owner } = await getDomainById(config.domain); - const response = await getFeatureFlag(SwitcherKeys.ELEMENT_CREATION) + const featureFlag = await getFeatureFlag(SwitcherKeys.ELEMENT_CREATION) .checkPayload(JSON.stringify({ feature: 'metrics', owner })).isItOn(); - - if (!response.result) { - if (!config.disable_metrics) { - config.disable_metrics = new Map(); - config.disable_metrics.set(EnvType.DEFAULT, true); - } - - config.activated.forEach((value, key) => { - config.disable_metrics.set(key, true); - }); + + if (!featureFlag.result) { + config.disable_metrics = new Map(); + config.disable_metrics.set(EnvType.DEFAULT, true); } } diff --git a/src/models/config.js b/src/models/config.js index d0ab087..2dafb59 100644 --- a/src/models/config.js +++ b/src/models/config.js @@ -65,7 +65,9 @@ const configSchema = new mongoose.Schema({ }, disable_metrics: { type: Map, - of: Boolean + of: Boolean, + required: true, + default: new Map().set(EnvType.DEFAULT, false) }, updatedBy: { type: String