"""Logic for Blacklist Reasons. Perform operations Related to blacklist reasons. """ from blacklist_manager import config from blacklist_manager.models import blacklist_reasons from blacklist_manager.validation import validation from blacklist_manager.validation.validation import json_validator POST_BLACKLIST_REASON_VALIDATOR = json_validator( config.POST_BLACKLIST_REASON_SCHEMA) PUT_BLACKLIST_REASON_VALIDATOR = json_validator( config.PUT_BLACKLIST_REASON_SCHEMA) def get_blacklist_reasons(): """Retrieve blacklist reasons. Returns: Response: set of all the blacklist reasons. """ result = blacklist_reasons.get_blacklist_reasons() return result def create_blacklist_reason(blacklist_reason_data): """Create a new blacklist reason. Args: blacklist_reason_data (dict): properties to assign to the new blacklist reason. Returns: response.Response: wrapper containing the created blacklist reason or errors. """ validation_response = validation.validate( blacklist_reason_data, POST_BLACKLIST_REASON_VALIDATOR) if not validation_response: return validation_response result = blacklist_reasons.create_blacklist_reason(blacklist_reason_data) return result def update_blacklist_reason(blacklist_reason_id, blacklist_reason_data): """Update an existing blacklist reason. Args: blacklist_reason_id (int): unique identifier of blacklist_reasons. blacklist_reason_data (dict): properties to update of the existing blacklist reason. Returns: response.Response: wrapper containing the updated blacklist reason id or errors. """ validation_response = validation.validate( blacklist_reason_data, PUT_BLACKLIST_REASON_VALIDATOR) if not validation_response: return validation_response result = blacklist_reasons.update_blacklist_reason( blacklist_reason_id, blacklist_reason_data) return result