Description

class MessageCallbackEvent(BaseKafkaModel):
    _topic = 'message_callbacks'
 
    def __init__(self, initiator_id: int, channel_id: int, timestamp: int = None,
                 user_country: str = None, user_browser: str = None,
                 user_browser_language: str = None, example_id: str = None,
                 pool_id: int = None, campaign_id: int = None,
                 delivered_count: int = None, clicked_count: int = None,
                 unique_click_count: int = None, closed_count: int = None,
                 conversion_count: int = None, conversion_cost: float = None,
                 conversion_payout: float = None, firebase_id: int = None,
                 sender_id: int = None, **kwargs):
        super(MessageCallbackEvent, self).__init__(**kwargs)
        self.initiator_id = initiator_id
        self.channel_id = channel_id
        self.conversion_count = conversion_count or 0
        self.closed_count = closed_count or 0
        self.unique_click_count = unique_click_count or 0
        self.clicked_count = max(clicked_count or 0, self.unique_click_count)
        self.delivered_count = delivered_count or 0
        self.campaign_id = campaign_id or 0
        self.pool_id = pool_id or 0
        self.example_id = str(example_id) if example_id else '0'
        self.conversion_cost = conversion_cost or 0
        self.conversion_payout = conversion_payout or 0
        self.user_browser_language = user_browser_language or ''
        self.user_browser = user_browser or ''
        self.user_country = user_country or ''
        self.firebase_id = firebase_id or 0
        self.sender_id = sender_id or 0
        self.timestamp = timestamp or int(time.time())