Skip to content

Commit bd26178

Browse files
committed
Pop feature ID out of the override key
1 parent a9d1e23 commit bd26178

File tree

2 files changed

+7
-3
lines changed

2 files changed

+7
-3
lines changed

src/Utils/Mappers.php

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,9 @@ private static function _mapEnvironmentDocumentFeatureStatesToFeatureContexts($f
141141
*/
142142
private static function _mapIdentityOverridesToSegments($identityOverrides)
143143
{
144+
/** @var array<string, int> */
145+
$featureIDsByName = [];
146+
144147
/** @var array<string, array<string>> */
145148
$featuresToIdentifiers = [];
146149
foreach ($identityOverrides as $identityOverride) {
@@ -154,8 +157,8 @@ private static function _mapIdentityOverridesToSegments($identityOverrides)
154157
/** @var array<array<mixed>> */
155158
$overridesKey = [];
156159
foreach ($identityFeatures as $featureState) {
160+
$featureIDsByName[$featureState->feature->name] = $featureState->feature->id;
157161
$part = [
158-
$featureState->feature->id,
159162
$featureState->feature->name,
160163
$featureState->enabled,
161164
$featureState->feature_state_value,
@@ -185,7 +188,8 @@ private static function _mapIdentityOverridesToSegments($identityOverrides)
185188

186189
$segment->overrides = [];
187190
foreach (unserialize($serializedOverridesKey) as $overrideKey) {
188-
[$featureId, $featureName, $enabled, $value] = $overrideKey;
191+
[$featureName, $enabled, $value] = $overrideKey;
192+
$featureId = $featureIDsByName[$featureName];
189193
$feature = new FeatureContext();
190194
$feature->key = ''; // Not used in identity overrides
191195
$feature->name = $featureName;

tests/Utils/MappersTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ public function testMapEnvironmentDocumentToContextProducesEvaluationContext():
4747
$this->assertEquals(SegmentConditionOperator::EQUAL, $context->segments[0]->rules[0]->rules[0]->conditions[0]->operator);
4848
$this->assertEquals('bar', $context->segments[0]->rules[0]->rules[0]->conditions[0]->value);
4949

50-
$overrideKey = '1dfdec3e4c67121138b1faa01b82f9f731c692842b865f263824bfabf46d5fff';
50+
$overrideKey = '2a3691c8a306223592e2e657e50c44cf126db84730e813adea6f951c502b19e8';
5151
$this->assertArrayHasKey($overrideKey, $context->segments);
5252
$this->assertEquals('', $context->segments[$overrideKey]->key);
5353
$this->assertEquals('identity_overrides', $context->segments[$overrideKey]->name);

0 commit comments

Comments
 (0)