"""Handle formatting of JSON messages coming from kafka topic.""" from kafka_utils.consumer.message.base import BaseEventMessage class QueueMoveHistoryEventMessage(BaseEventMessage): """QueueMoveHistoryEventMessage class.""" def __init__(self, message, topic, value_deserializer): """ Initialize. Args: message (dict): the string for JSON serialized message topic (str): The topic for the message. value_deserializer (BaseDeserializer subclass): Deserializer """ super().__init__(message, topic) self.value_deserializer = value_deserializer self.message = self.value_deserializer.deserialize(message, topic, 'value') @property def queue_move_history_id(self): """Queue Move History ID.""" return self.message.get('id') @property def review_queue_id(self): """Review Queue ID.""" return self.message.get('review_queue_id') @property def queue_name(self): """Queue Name.""" return self.message.get('queue_name') @property def moved_to_target_email(self): """Moved to Target Email.""" return self.message.get('moved_to_target_email') @property def moved_by_user_id(self): """Moved to Queue By User ID.""" return self.message.get('moved_to_queue_by_user_id') @property def previous_queue_name(self): """Previous queue name.""" return self.message.get('previous_queue_name')