MCPcopy Create free account
hub / github.com/Flagsmith/flagsmith / get_core_overrides_data

Function get_core_overrides_data

api/features/features_service.py:47–73  ·  view source on GitHub ↗

Get the number of identity / segment overrides in a given environment for each feature in the project. :param environment: the environment to get the overrides data for :return OverridesData: dictionary of {feature_id: EnvironmentFeatureOverridesData}

(
    environment: "Environment",
    *,
    skip_identity_overrides: bool = False,
)

Source from the content-addressed store, hash-verified

45
46
47def get_core_overrides_data(
48 environment: "Environment",
49 *,
50 skip_identity_overrides: bool = False,
51) -> OverridesData:
52 """
53 Get the number of identity / segment overrides in a given environment for each feature in the
54 project.
55
56 :param environment: the environment to get the overrides data for
57 :return OverridesData: dictionary of {feature_id: EnvironmentFeatureOverridesData}
58 """
59 environment_feature_states_list = get_environment_flags_list(environment)
60 all_overrides_data: OverridesData = {}
61
62 for feature_state in environment_feature_states_list:
63 env_feature_overrides_data = all_overrides_data.setdefault(
64 feature_state.feature_id, EnvironmentFeatureOverridesData()
65 )
66 if feature_state.feature_segment_id:
67 env_feature_overrides_data.num_segment_overrides += 1
68 elif skip_identity_overrides:
69 continue
70 elif feature_state.identity_id:
71 env_feature_overrides_data.add_identity_override() # type: ignore[no-untyped-call]
72
73 return all_overrides_data
74
75
76def get_edge_overrides_data(environment: "Environment") -> OverridesData:

Used in the wild real call sites across dependent graphs

searching dependent graphs…