def validate_plugin_configuration(cls, plugin_configuration: "PluginConfiguration"): """Validate if provided configuration is correct.""" configuration = plugin_configuration.configuration configuration = {item["name"]: item["value"] for item in configuration} access_key = configuration.get("Access key") if plugin_configuration.active and not access_key: raise ValidationError( { "Access key": ValidationError( "Cannot be enabled without provided Access key", code=PluginErrorCode.INVALID.value, ) } ) if access_key and plugin_configuration.active: # let's check if access_key works fetched_data = fetch_rate_types(access_key=access_key) if not fetched_data["success"]: raise ValidationError( { "Access key": ValidationError( "Cannot enable Vatlayer. Incorrect API key.", code=PluginErrorCode.INVALID.value, ) } )
def validate_plugin_configuration(cls, plugin_configuration: "PluginConfiguration"): """Validate if provided configuration is correct.""" configuration = plugin_configuration.configuration configuration = {item["name"]: item["value"] for item in configuration} access_key = configuration.get("Access key") if plugin_configuration.active and not access_key: raise ValidationError( { "Access key": ValidationError( "Cannot be enabled without provided Access key", code=PluginErrorCode.INVALID.value, ) } ) if access_key and plugin_configuration.active: # let's check if access_key works fetched_data = fetch_rate_types(access_key=access_key) if not fetched_data["success"]: raise ValidationError( { "Access key": ValidationError( "Cannot enable Vatlayer. Incorrect API key.", code=PluginErrorCode.INVALID.value, ) } ) countries_from_origin = configuration.get( "countries_to_calculate_taxes_from_origin" ) origin_country = configuration.get("origin_country") if countries_from_origin and not origin_country: raise ValidationError( { "origin_country": ValidationError( "Source country required when `Countries for which taxes will " "be calculated from origin country` provided.", code=PluginErrorCode.INVALID.value, ) } )