From 3ee9c4b4a198a964613c20e1302d351c0d46e95f Mon Sep 17 00:00:00 2001 From: andreas-unleash Date: Tue, 18 Jul 2023 12:41:54 +0300 Subject: [PATCH] Fix: wrap reorder event to strategy variant feature (#4265) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit wrap reorder event creation to strategy variant feature ## About the changes Closes # ### Important files ## Discussion points --------- Signed-off-by: andreas-unleash --- src/lib/services/feature-toggle-service.ts | 59 ++++++++++++---------- 1 file changed, 31 insertions(+), 28 deletions(-) diff --git a/src/lib/services/feature-toggle-service.ts b/src/lib/services/feature-toggle-service.ts index 7438cce32c..d2ad962197 100644 --- a/src/lib/services/feature-toggle-service.ts +++ b/src/lib/services/feature-toggle-service.ts @@ -441,36 +441,39 @@ class FeatureToggleService { ); }), ); - const newOrder = ( - await this.getStrategiesForEnvironment( - project, + if (this.flagResolver.isEnabled('strategyVariant')) { + const newOrder = ( + await this.getStrategiesForEnvironment( + project, + featureName, + environment, + ) + ) + .sort((strategy1, strategy2) => { + if ( + typeof strategy1.sortOrder === 'number' && + typeof strategy2.sortOrder === 'number' + ) { + return strategy1.sortOrder - strategy2.sortOrder; + } + return 0; + }) + .map((strategy) => strategy.id); + + const eventData: StrategyIds = { strategyIds: newOrder }; + + const tags = await this.tagStore.getAllTagsForFeature(featureName); + const event = new StrategiesOrderChangedEvent({ featureName, environment, - ) - ) - .sort((strategy1, strategy2) => { - if ( - typeof strategy1.sortOrder === 'number' && - typeof strategy2.sortOrder === 'number' - ) { - return strategy1.sortOrder - strategy2.sortOrder; - } - return 0; - }) - .map((strategy) => strategy.id); - - const eventData: StrategyIds = { strategyIds: newOrder }; - const tags = await this.tagStore.getAllTagsForFeature(featureName); - const event = new StrategiesOrderChangedEvent({ - featureName, - environment, - project, - createdBy, - preData: eventPreData, - data: eventData, - tags: tags, - }); - await this.eventStore.store(event); + project, + createdBy, + preData: eventPreData, + data: eventData, + tags: tags, + }); + await this.eventStore.store(event); + } } async createStrategy(