1515
1616from edge_proxy .cache import BaseEnvironmentsCache , LocalMemEnvironmentsCache
1717from edge_proxy .exceptions import FeatureNotFoundError , FlagsmithUnknownKeyError
18- from edge_proxy .feature_utils import filter_out_server_key_only_flags
18+ from edge_proxy .feature_utils import (
19+ filter_disabled_flags ,
20+ filter_out_server_key_only_flags ,
21+ )
1922from edge_proxy .mappers import (
2023 map_flag_result_to_response_data ,
2124 map_flag_results_to_response_data ,
2932SERVER_API_KEY_PREFIX = "ser."
3033
3134
32- def _filter_disabled_flags (
33- flags : list [dict [str , Any ]], hide_disabled_flags : bool
34- ) -> list [dict [str , Any ]]:
35- if not hide_disabled_flags :
36- return flags
37- return [flag for flag in flags if flag .get ("enabled" , False )]
38-
39-
4035class EnvironmentService :
4136 def __init__ (
4237 self ,
@@ -88,9 +83,6 @@ def get_flags_response_data(
8883 server_key_only_feature_ids = environment_document .get ("project" , {}).get (
8984 "server_key_only_feature_ids" , []
9085 )
91- hide_disabled_flags = environment_document .get ("project" , {}).get (
92- "hide_disabled_flags" , False
93- )
9486
9587 context = map_environment_document_to_context (environment_document )
9688 evaluation_result = get_evaluation_result (context )
@@ -118,7 +110,10 @@ def get_flags_response_data(
118110 flags , server_key_only_feature_ids
119111 )
120112
121- flags = _filter_disabled_flags (flags , hide_disabled_flags )
113+ hide_disabled_flags = environment_document .get ("project" , {}).get (
114+ "hide_disabled_flags" , False
115+ )
116+ flags = filter_disabled_flags (flags , hide_disabled_flags )
122117 data = map_flag_results_to_response_data (flags )
123118
124119 return data
@@ -131,13 +126,10 @@ def get_identity_response_data(
131126 server_key_only_feature_ids = environment_document .get ("project" , {}).get (
132127 "server_key_only_feature_ids" , []
133128 )
134- hide_disabled_flags = environment_document .get ("project" , {}).get (
135- "hide_disabled_flags" , False
136- )
137129
138- context = map_environment_document_to_context (environment_document )
130+ environment_context = map_environment_document_to_context (environment_document )
139131 context = map_context_and_identity_data_to_context (
140- context = context ,
132+ context = environment_context ,
141133 identifier = input_data .identifier ,
142134 traits = input_data .traits ,
143135 )
@@ -148,7 +140,10 @@ def get_identity_response_data(
148140 if not is_server_key :
149141 flags = filter_out_server_key_only_flags (flags , server_key_only_feature_ids )
150142
151- flags = _filter_disabled_flags (flags , hide_disabled_flags )
143+ hide_disabled_flags = environment_document .get ("project" , {}).get (
144+ "hide_disabled_flags" , False
145+ )
146+ flags = filter_disabled_flags (flags , hide_disabled_flags )
152147
153148 data = {
154149 "traits" : map_traits_to_response_data (input_data .traits ),
0 commit comments