mirror of
				https://github.com/zulip/zulip.git
				synced 2025-11-04 05:53:43 +00:00 
			
		
		
		
	refactor: Use build_user_message for Slack/Gitter.
We now have all three third party conversions (Gitter/Slack/Hipchat) go through build_user_message(). Hipchat was already using this helper. We also avoid callers having to pass in an id to build_user_message().
This commit is contained in:
		@@ -662,7 +662,6 @@ def make_user_messages(zerver_message: List[ZerverFieldsT],
 | 
			
		||||
        for user_id in user_ids:
 | 
			
		||||
            is_mentioned = user_id in mention_user_ids
 | 
			
		||||
            user_message = build_user_message(
 | 
			
		||||
                id=NEXT_ID('user_message'),
 | 
			
		||||
                user_id=user_id,
 | 
			
		||||
                message_id=message_id,
 | 
			
		||||
                is_private=is_pm_data,
 | 
			
		||||
 
 | 
			
		||||
@@ -264,19 +264,23 @@ def build_usermessages(zerver_usermessage: List[ZerverFieldsT],
 | 
			
		||||
                       mentioned_users_id: List[int], message_id: int) -> None:
 | 
			
		||||
    for subscription in zerver_subscription:
 | 
			
		||||
        if subscription['recipient'] == recipient_id:
 | 
			
		||||
            flags_mask = 1  # For read
 | 
			
		||||
            if subscription['user_profile'] in mentioned_users_id:
 | 
			
		||||
                flags_mask = 9  # For read and mentioned
 | 
			
		||||
            user_id = subscription['user_profile']
 | 
			
		||||
            is_mentioned = user_id in mentioned_users_id
 | 
			
		||||
 | 
			
		||||
            # Slack and Gitter don't yet triage private messages.
 | 
			
		||||
            # It's possible we don't even get PMs from them.
 | 
			
		||||
            is_private = False
 | 
			
		||||
 | 
			
		||||
            usermessage = build_user_message(
 | 
			
		||||
                user_id=user_id,
 | 
			
		||||
                message_id=message_id,
 | 
			
		||||
                is_private=is_private,
 | 
			
		||||
                is_mentioned=is_mentioned,
 | 
			
		||||
            )
 | 
			
		||||
 | 
			
		||||
            usermessage = dict(
 | 
			
		||||
                user_profile=subscription['user_profile'],
 | 
			
		||||
                id=NEXT_ID('user_message'),
 | 
			
		||||
                flags_mask=flags_mask,
 | 
			
		||||
                message=message_id)
 | 
			
		||||
            zerver_usermessage.append(usermessage)
 | 
			
		||||
 | 
			
		||||
def build_user_message(id: int,
 | 
			
		||||
                       user_id: int,
 | 
			
		||||
def build_user_message(user_id: int,
 | 
			
		||||
                       message_id: int,
 | 
			
		||||
                       is_private: bool,
 | 
			
		||||
                       is_mentioned: bool) -> ZerverFieldsT:
 | 
			
		||||
@@ -286,6 +290,8 @@ def build_user_message(id: int,
 | 
			
		||||
    if is_private:
 | 
			
		||||
        flags_mask += 2048  # For is_private
 | 
			
		||||
 | 
			
		||||
    id = NEXT_ID('user_message')
 | 
			
		||||
 | 
			
		||||
    usermessage = dict(
 | 
			
		||||
        id=id,
 | 
			
		||||
        user_profile=user_id,
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user