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:
Steve Howell
2018-10-25 14:33:50 +00:00
committed by Tim Abbott
parent 5194701787
commit adb458a5df
2 changed files with 16 additions and 11 deletions

View File

@@ -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,