zulip/zerver/views/email_mirror.py

26 lines
838 B
Python

from __future__ import absolute_import
import ujson
from django.http import HttpRequest, HttpResponse
from typing import Dict
from zerver.decorator import internal_notify_view
from zerver.lib.email_mirror import mirror_email_message
from zerver.lib.request import has_request_variables, REQ
from zerver.lib.response import json_error, json_success
from zerver.lib.validator import check_dict, check_string
@internal_notify_view(False)
@has_request_variables
def email_mirror_message(request, data=REQ(validator=check_dict([
('recipient', check_string),
('msg_text', check_string),
]))):
# type: (HttpRequest, Dict[str, str]) -> HttpResponse
result = mirror_email_message(ujson.loads(request.POST['data']))
if result["status"] == "error":
return json_error(result['msg'])
return json_success()