Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions flagsmith/mappers.py
Original file line number Diff line number Diff line change
Expand Up @@ -46,11 +46,11 @@ def map_segment_results_to_identity_segments(
for segment_result in segment_results:
if metadata := segment_result.get("metadata"):
if metadata.get("source") == "api" and (
(flagsmith_id := metadata.get("flagsmith_id")) is not None
(segment_id := metadata.get("id")) is not None
):
identity_segments.append(
Segment(
id=flagsmith_id,
id=segment_id,
name=segment_result["name"],
)
)
Expand Down Expand Up @@ -132,7 +132,7 @@ def map_environment_document_to_context(
)
),
"metadata": SegmentMetadata(
flagsmith_id=segment_id,
id=segment_id,
source="api",
),
}
Expand Down Expand Up @@ -202,9 +202,9 @@ def _map_identity_overrides_to_segments(
"enabled": feature_enabled,
"value": feature_value,
"priority": float("-inf"), # Highest possible priority
"metadata": {"flagsmith_id": flagsmith_id},
"metadata": {"id": feature_id},
}
for flagsmith_id, feature_name, feature_enabled, feature_value in overrides_key
for feature_id, feature_name, feature_enabled, feature_value in overrides_key
],
metadata=SegmentMetadata(source="identity_overrides"),
)
Expand Down Expand Up @@ -237,7 +237,7 @@ def _map_environment_document_feature_states_to_feature_contexts(
feature_states: list[FeatureStateModel],
) -> typing.Iterable[FeatureContext[FeatureMetadata]]:
for feature_state in feature_states:
metadata: FeatureMetadata = {"flagsmith_id": feature_state["feature"]["id"]}
metadata: FeatureMetadata = {"id": feature_state["feature"]["id"]}
feature_context = FeatureContext[FeatureMetadata](
key=str(
feature_state.get("django_id") or feature_state["featurestate_uuid"]
Expand Down
2 changes: 1 addition & 1 deletion flagsmith/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ def from_evaluation_result(
enabled=flag_result["enabled"],
value=flag_result["value"],
feature_name=flag_result["name"],
feature_id=metadata["flagsmith_id"],
feature_id=metadata["id"],
)
raise ValueError(
"FlagResult metadata is missing. Cannot create Flag instance. "
Expand Down
4 changes: 2 additions & 2 deletions flagsmith/types.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,14 +38,14 @@ class ApplicationMetadata(typing.TypedDict):


class SegmentMetadata(typing.TypedDict):
flagsmith_id: NotRequired[int]
id: NotRequired[int]
"""The ID of the segment used in Flagsmith API."""
source: NotRequired[typing.Literal["api", "identity_overrides"]]
"""The source of the segment, e.g. 'api', 'identity_overrides'."""


class FeatureMetadata(typing.TypedDict):
flagsmith_id: int
id: int
"""The ID of the feature used in Flagsmith API."""


Expand Down
2 changes: 1 addition & 1 deletion tests/test_flagsmith.py
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,7 @@ def test_get_identity_flags_uses_local_environment_when_available(
"name": "some_feature",
"enabled": True,
"value": "some-feature-state-value",
"metadata": {"flagsmith_id": 1},
"metadata": {"id": 1},
}
},
"segments": [],
Expand Down
14 changes: 7 additions & 7 deletions tests/test_models.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ def test_flag_from_evaluation_result() -> None:
"name": "test_feature",
"reason": "DEFAULT",
"value": "test-value",
"metadata": {"flagsmith_id": 123},
"metadata": {"id": 123},
}

# When
Expand All @@ -38,7 +38,7 @@ def test_flag_from_evaluation_result() -> None:
"name": "feature1",
"reason": "DEFAULT",
"value": "value1",
"metadata": {"flagsmith_id": 1},
"metadata": {"id": 1},
}
},
["feature1"],
Expand All @@ -50,7 +50,7 @@ def test_flag_from_evaluation_result() -> None:
"name": "feature1",
"reason": "DEFAULT",
"value": "value1",
"metadata": {"flagsmith_id": 1},
"metadata": {"id": 1},
}
},
["feature1"],
Expand All @@ -62,21 +62,21 @@ def test_flag_from_evaluation_result() -> None:
"name": "feature1",
"reason": "DEFAULT",
"value": "value1",
"metadata": {"flagsmith_id": 1},
"metadata": {"id": 1},
},
"feature2": {
"enabled": True,
"name": "feature2",
"reason": "DEFAULT",
"value": "value2",
"metadata": {"flagsmith_id": 2},
"metadata": {"id": 2},
},
"feature3": {
"enabled": True,
"name": "feature3",
"reason": "DEFAULT",
"value": 42,
"metadata": {"flagsmith_id": 3},
"metadata": {"id": 3},
},
},
["feature1", "feature2", "feature3"],
Expand Down Expand Up @@ -127,7 +127,7 @@ def test_flag_from_evaluation_result_value_types(
"name": "test_feature",
"reason": "DEFAULT",
"value": value,
"metadata": {"flagsmith_id": 123},
"metadata": {"id": 123},
}

# When
Expand Down