def __check_user_allowed_values()

in modular_api/web_service/response_processor.py [0:0]


def __check_user_allowed_values(user_meta, requested_params):
    requested_params_names = requested_params.keys()
    for parameter in requested_params_names:
        if parameter in user_meta.keys():
            allow_list = [name.lower() for name in user_meta[parameter]
                          if isinstance(name, str)]
            user_value = requested_params[parameter].lower() \
                if isinstance(requested_params[parameter], str) \
                else requested_params[parameter]
            if user_value not in allow_list:
                invalid_requested_parameter_message = \
                    f'Invalid request for your user. Allowed value(s) ' \
                    f'for \'{parameter}\': {user_meta[parameter]}'
                _LOG.error(invalid_requested_parameter_message)
                raise ModularApiBadRequestException(
                    invalid_requested_parameter_message
                )