mirror of
https://github.com/zulip/zulip.git
synced 2026-07-09 21:21:47 +08:00
Return the message ID when sending a message.
Our API documentation says that we do, and it seems like it could be useful to clients, so we might as well do it. (imported from commit c391e4952a09d41df4dc06e3dc6ee094f774822b)
This commit is contained in:
parent
9d6627d269
commit
7fa448cdef
@ -208,10 +208,10 @@ def log_message(message):
|
||||
|
||||
# Helper function. Defaults here are overriden by those set in do_send_messages
|
||||
def do_send_message(message, rendered_content = None, no_log = False, stream = None):
|
||||
do_send_messages([{'message': message,
|
||||
'rendered_content': rendered_content,
|
||||
'no_log': no_log,
|
||||
'stream': stream}])
|
||||
return do_send_messages([{'message': message,
|
||||
'rendered_content': rendered_content,
|
||||
'no_log': no_log,
|
||||
'stream': stream}])[0]
|
||||
|
||||
def do_send_messages(messages):
|
||||
# Filter out messages which didn't pass internal_prep_message properly
|
||||
@ -303,6 +303,8 @@ def do_send_messages(messages):
|
||||
data['stream_name'] = message['stream'].name
|
||||
tornado_callbacks.send_notification(data)
|
||||
|
||||
return [message['message'].id for message in messages]
|
||||
|
||||
def create_stream_if_needed(realm, stream_name, invite_only=False):
|
||||
(stream, created) = Stream.objects.get_or_create(
|
||||
realm=realm, name__iexact=stream_name,
|
||||
@ -377,8 +379,7 @@ def check_send_message(*args, **kwargs):
|
||||
if(type(message) != dict):
|
||||
assert isinstance(message, basestring)
|
||||
return message
|
||||
do_send_messages([message])
|
||||
return None
|
||||
return do_send_messages([message])[0]
|
||||
|
||||
# check_message:
|
||||
# Returns message ready for sending with do_send_message on success or the error message (string) on error.
|
||||
|
||||
@ -1210,9 +1210,9 @@ def send_message_backend(request, user_profile,
|
||||
subject_name, message_content, forged=forged,
|
||||
forged_timestamp = request.POST.get('time'),
|
||||
forwarder_user_profile=user_profile, realm=realm)
|
||||
if ret is not None:
|
||||
if isinstance(ret, basestring):
|
||||
return json_error(ret)
|
||||
return json_success()
|
||||
return json_success({"id": ret})
|
||||
|
||||
@has_request_variables
|
||||
def render_message_backend(request, user_profile, content=REQ):
|
||||
@ -1795,7 +1795,7 @@ def api_jira_webhook(request):
|
||||
subject = elide_subject(subject)
|
||||
|
||||
ret = check_send_message(user_profile, get_client("API"), "stream", [stream], subject, content)
|
||||
if ret is not None:
|
||||
if isinstance(ret, basestring):
|
||||
return json_error(ret)
|
||||
return json_success()
|
||||
|
||||
@ -1872,7 +1872,7 @@ def api_pivotal_webhook(request):
|
||||
subject = elide_subject(subject)
|
||||
|
||||
ret = check_send_message(user_profile, get_client("API"), "stream", [stream], subject, content)
|
||||
if ret is not None:
|
||||
if isinstance(ret, basestring):
|
||||
return json_error(ret)
|
||||
return json_success()
|
||||
|
||||
@ -1924,7 +1924,7 @@ def api_beanstalk_webhook(request, user_profile,
|
||||
subject = elide_subject(subject)
|
||||
|
||||
ret = check_send_message(user_profile, get_client("API"), "stream", ["commits"], subject, content)
|
||||
if ret is not None:
|
||||
if isinstance(ret, basestring):
|
||||
return json_error(ret)
|
||||
return json_success()
|
||||
|
||||
@ -1963,7 +1963,7 @@ def api_newrelic_webhook(request, alert=REQ(converter=json_to_dict, default=None
|
||||
|
||||
subject = elide_subject(subject)
|
||||
ret = check_send_message(user_profile, get_client("API"), "stream", [stream], subject, content)
|
||||
if ret is not None:
|
||||
if isinstance(ret, basestring):
|
||||
return json_error(ret)
|
||||
return json_success()
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user