"""Get feature flags on backend.""" from oto import response from owsrequest import request from label_copy_export import config from label_copy_export.constants import error from label_copy_export.constants import ows_services def get_user_features(orchard_user_id): """Get dict with all features for provided user. Args: orchard_user_id (str): unique identifier of user, example: 'alw:25824'. Returns: response.Response: .message is a dict in format {'feature_name': 'enabled', 'feature_name_2': 'control'}. """ features_response = request.process( 'daemon-label-copy-export', config.ENVIRONMENT, 'GET', ows_services.OWS_FEATURES, '/features/user/{user_id}'.format(user_id=orchard_user_id)) if features_response.status_code != 200: return response.create_error_response( status=features_response.status_code, message=features_response.content, code=error.ERROR_CODE_FEATURE_FLAG_FAILED) user_features = features_response.json() return response.Response(user_features)