File tree Expand file tree Collapse file tree 1 file changed +22
-0
lines changed
Expand file tree Collapse file tree 1 file changed +22
-0
lines changed Original file line number Diff line number Diff line change 66
77import semver
88
9+ from flag_engine .context .mappers import map_environment_identity_to_context
910from flag_engine .context .types import EvaluationContext
11+ from flag_engine .environments .models import EnvironmentModel
12+ from flag_engine .identities .models import IdentityModel
1013from flag_engine .identities .traits .types import ContextValue
1114from flag_engine .segments import constants
1215from flag_engine .segments .models import (
2023from 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+
2345def get_context_segments (
2446 context : EvaluationContext ,
2547 segments : typing .List [SegmentModel ],
You can’t perform that action at this time.
0 commit comments