Skip to content

Commit 375e194

Browse files
committed
fix: reintroduced-get-identity-segments
1 parent 969c812 commit 375e194

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

flag_engine/segments/evaluator.py

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,10 @@
66

77
import semver
88

9+
from flag_engine.context.mappers import map_environment_identity_to_context
910
from flag_engine.context.types import EvaluationContext
11+
from flag_engine.environments.models import EnvironmentModel
12+
from flag_engine.identities.models import IdentityModel
1013
from flag_engine.identities.traits.types import ContextValue
1114
from flag_engine.segments import constants
1215
from flag_engine.segments.models import (
@@ -20,6 +23,25 @@
2023
from flag_engine.utils.types import SupportsStr, get_casting_function
2124

2225

26+
def get_identity_segments(
27+
identity: IdentityModel,
28+
environment: EnvironmentModel,
29+
) -> typing.List[SegmentModel]:
30+
"""
31+
Get a list of segments for a given identity in a given environment.
32+
33+
:param identity: the identity model object to get the segments for
34+
:param environment: the environment model object the identity belongs to
35+
:return: list of segments that the identity belongs to in the environment
36+
"""
37+
context = map_environment_identity_to_context(
38+
environment=environment,
39+
identity=identity,
40+
override_traits=None,
41+
)
42+
return get_context_segments(context, environment.project.segments)
43+
44+
2345
def get_context_segments(
2446
context: EvaluationContext,
2547
segments: typing.List[SegmentModel],

0 commit comments

Comments
 (0)