From ac14a8bcf566fa270cfb3d1d935e4821295d6512 Mon Sep 17 00:00:00 2001 From: Mateusz Mandera Date: Wed, 27 Sep 2023 19:01:31 +0200 Subject: [PATCH] typed_endpoint: Rename WebhookPayload to JsonBodyPayload. This kind of payload that's loaded from json in the body of the request is not only used for webhooks, but also in the push bouncer, and may get used elsewhere too - so a general name is better. --- zerver/lib/typed_endpoint.py | 2 +- zerver/tests/test_typed_endpoint.py | 4 ++-- zerver/webhooks/airbrake/view.py | 4 ++-- zerver/webhooks/alertmanager/view.py | 4 ++-- zerver/webhooks/ansibletower/view.py | 4 ++-- zerver/webhooks/appfollow/view.py | 4 ++-- zerver/webhooks/appveyor/view.py | 4 ++-- zerver/webhooks/azuredevops/view.py | 4 ++-- zerver/webhooks/basecamp/view.py | 4 ++-- zerver/webhooks/beeminder/view.py | 4 ++-- zerver/webhooks/bitbucket/view.py | 4 ++-- zerver/webhooks/bitbucket2/view.py | 4 ++-- zerver/webhooks/bitbucket3/view.py | 4 ++-- zerver/webhooks/buildbot/view.py | 4 ++-- zerver/webhooks/canarytoken/view.py | 4 ++-- zerver/webhooks/circleci/view.py | 4 ++-- zerver/webhooks/clubhouse/view.py | 4 ++-- zerver/webhooks/codeship/view.py | 4 ++-- zerver/webhooks/crashlytics/view.py | 4 ++-- zerver/webhooks/delighted/view.py | 4 ++-- zerver/webhooks/dialogflow/view.py | 4 ++-- zerver/webhooks/errbit/view.py | 4 ++-- zerver/webhooks/flock/view.py | 4 ++-- zerver/webhooks/freshdesk/view.py | 4 ++-- zerver/webhooks/freshping/view.py | 4 ++-- zerver/webhooks/freshstatus/view.py | 4 ++-- zerver/webhooks/front/view.py | 4 ++-- zerver/webhooks/gci/view.py | 4 ++-- zerver/webhooks/gitea/view.py | 4 ++-- zerver/webhooks/github/view.py | 4 ++-- zerver/webhooks/gitlab/view.py | 4 ++-- zerver/webhooks/gocd/view.py | 4 ++-- zerver/webhooks/gogs/view.py | 4 ++-- zerver/webhooks/gosquared/view.py | 4 ++-- zerver/webhooks/grafana/view.py | 4 ++-- zerver/webhooks/greenhouse/view.py | 4 ++-- zerver/webhooks/groove/view.py | 4 ++-- zerver/webhooks/harbor/view.py | 4 ++-- zerver/webhooks/helloworld/view.py | 4 ++-- zerver/webhooks/homeassistant/view.py | 4 ++-- zerver/webhooks/ifttt/view.py | 4 ++-- zerver/webhooks/insping/view.py | 4 ++-- zerver/webhooks/intercom/view.py | 4 ++-- zerver/webhooks/jira/view.py | 4 ++-- zerver/webhooks/jotform/view.py | 4 ++-- zerver/webhooks/json/view.py | 4 ++-- zerver/webhooks/lidarr/view.py | 4 ++-- zerver/webhooks/linear/view.py | 4 ++-- zerver/webhooks/mention/view.py | 4 ++-- zerver/webhooks/netlify/view.py | 4 ++-- zerver/webhooks/newrelic/view.py | 4 ++-- zerver/webhooks/opbeat/view.py | 4 ++-- zerver/webhooks/opencollective/view.py | 4 ++-- zerver/webhooks/opsgenie/view.py | 4 ++-- zerver/webhooks/pagerduty/view.py | 4 ++-- zerver/webhooks/pingdom/view.py | 4 ++-- zerver/webhooks/radarr/view.py | 4 ++-- zerver/webhooks/raygun/view.py | 4 ++-- zerver/webhooks/reviewboard/view.py | 4 ++-- zerver/webhooks/rhodecode/view.py | 4 ++-- zerver/webhooks/rundeck/view.py | 4 ++-- zerver/webhooks/semaphore/view.py | 4 ++-- zerver/webhooks/sentry/view.py | 4 ++-- zerver/webhooks/solano/view.py | 4 ++-- zerver/webhooks/sonarqube/view.py | 4 ++-- zerver/webhooks/sonarr/view.py | 4 ++-- zerver/webhooks/splunk/view.py | 4 ++-- zerver/webhooks/statuspage/view.py | 4 ++-- zerver/webhooks/stripe/view.py | 4 ++-- zerver/webhooks/taiga/view.py | 4 ++-- zerver/webhooks/teamcity/view.py | 4 ++-- zerver/webhooks/thinkst/view.py | 4 ++-- zerver/webhooks/trello/view/__init__.py | 4 ++-- zerver/webhooks/updown/view.py | 4 ++-- zerver/webhooks/uptimerobot/view.py | 4 ++-- zerver/webhooks/wekan/view.py | 4 ++-- zerver/webhooks/zabbix/view.py | 4 ++-- zerver/webhooks/zapier/view.py | 4 ++-- 78 files changed, 155 insertions(+), 155 deletions(-) diff --git a/zerver/lib/typed_endpoint.py b/zerver/lib/typed_endpoint.py index c44b491628..1b79451625 100644 --- a/zerver/lib/typed_endpoint.py +++ b/zerver/lib/typed_endpoint.py @@ -99,7 +99,7 @@ class ApiParamConfig: # Commonly used for webhook views, where the payload has a content type of # application/json. It reads the data from request body and parse it from JSON. -WebhookPayload: TypeAlias = Annotated[Json[T], ApiParamConfig(argument_type_is_body=True)] +JsonBodyPayload: TypeAlias = Annotated[Json[T], ApiParamConfig(argument_type_is_body=True)] # A shorthand to declare path only variables that should not be parsed from the # request by the @typed_endpoint decorator. PathOnly: TypeAlias = Annotated[T, ApiParamConfig(path_only=True)] diff --git a/zerver/tests/test_typed_endpoint.py b/zerver/tests/test_typed_endpoint.py index 6b779d21aa..c89007fe5c 100644 --- a/zerver/tests/test_typed_endpoint.py +++ b/zerver/tests/test_typed_endpoint.py @@ -16,9 +16,9 @@ from zerver.lib.test_helpers import HostRequestMock from zerver.lib.typed_endpoint import ( ApiParamConfig, DocumentationStatus, + JsonBodyPayload, PathOnly, RequiredStringConstraint, - WebhookPayload, is_optional, typed_endpoint, typed_endpoint_without_parameters, @@ -249,7 +249,7 @@ class TestEndpoint(ZulipTestCase): def webhook( request: HttpRequest, *, - body: WebhookPayload[WildValue], + body: JsonBodyPayload[WildValue], non_body: Json[int] = 0, ) -> Dict[str, object]: status = body["totame"]["status"].tame(check_bool) diff --git a/zerver/webhooks/airbrake/view.py b/zerver/webhooks/airbrake/view.py index 7f347e8b9e..8ac4384e01 100644 --- a/zerver/webhooks/airbrake/view.py +++ b/zerver/webhooks/airbrake/view.py @@ -3,7 +3,7 @@ from django.http import HttpRequest, HttpResponse from zerver.decorator import webhook_view from zerver.lib.response import json_success -from zerver.lib.typed_endpoint import WebhookPayload, typed_endpoint +from zerver.lib.typed_endpoint import JsonBodyPayload, typed_endpoint from zerver.lib.validator import WildValue, check_string from zerver.lib.webhooks.common import check_send_webhook_message from zerver.models import UserProfile @@ -18,7 +18,7 @@ def api_airbrake_webhook( request: HttpRequest, user_profile: UserProfile, *, - payload: WebhookPayload[WildValue], + payload: JsonBodyPayload[WildValue], ) -> HttpResponse: topic = get_topic(payload) body = get_body(payload) diff --git a/zerver/webhooks/alertmanager/view.py b/zerver/webhooks/alertmanager/view.py index 3f2e409560..1583a34ca4 100644 --- a/zerver/webhooks/alertmanager/view.py +++ b/zerver/webhooks/alertmanager/view.py @@ -6,7 +6,7 @@ from typing_extensions import Annotated from zerver.decorator import webhook_view from zerver.lib.response import json_success -from zerver.lib.typed_endpoint import ApiParamConfig, WebhookPayload, typed_endpoint +from zerver.lib.typed_endpoint import ApiParamConfig, JsonBodyPayload, typed_endpoint from zerver.lib.validator import WildValue, check_string from zerver.lib.webhooks.common import check_send_webhook_message from zerver.models import UserProfile @@ -18,7 +18,7 @@ def api_alertmanager_webhook( request: HttpRequest, user_profile: UserProfile, *, - payload: WebhookPayload[WildValue], + payload: JsonBodyPayload[WildValue], name_field: Annotated[str, ApiParamConfig("name")] = "instance", desc_field: Annotated[str, ApiParamConfig("desc")] = "alertname", ) -> HttpResponse: diff --git a/zerver/webhooks/ansibletower/view.py b/zerver/webhooks/ansibletower/view.py index 0e46686fa5..5b0df8fb9a 100644 --- a/zerver/webhooks/ansibletower/view.py +++ b/zerver/webhooks/ansibletower/view.py @@ -5,7 +5,7 @@ from django.http import HttpRequest, HttpResponse from zerver.decorator import webhook_view from zerver.lib.response import json_success -from zerver.lib.typed_endpoint import WebhookPayload, typed_endpoint +from zerver.lib.typed_endpoint import JsonBodyPayload, typed_endpoint from zerver.lib.validator import WildValue, check_bool, check_int, check_string from zerver.lib.webhooks.common import check_send_webhook_message from zerver.models import UserProfile @@ -27,7 +27,7 @@ def api_ansibletower_webhook( request: HttpRequest, user_profile: UserProfile, *, - payload: WebhookPayload[WildValue], + payload: JsonBodyPayload[WildValue], ) -> HttpResponse: body = get_body(payload) topic = payload["name"].tame(check_string) diff --git a/zerver/webhooks/appfollow/view.py b/zerver/webhooks/appfollow/view.py index 341ab616d1..af262f99e7 100644 --- a/zerver/webhooks/appfollow/view.py +++ b/zerver/webhooks/appfollow/view.py @@ -5,7 +5,7 @@ from django.http import HttpRequest, HttpResponse from zerver.decorator import webhook_view from zerver.lib.response import json_success -from zerver.lib.typed_endpoint import WebhookPayload, typed_endpoint +from zerver.lib.typed_endpoint import JsonBodyPayload, typed_endpoint from zerver.lib.validator import WildValue, check_string from zerver.lib.webhooks.common import check_send_webhook_message from zerver.models import UserProfile @@ -17,7 +17,7 @@ def api_appfollow_webhook( request: HttpRequest, user_profile: UserProfile, *, - payload: WebhookPayload[WildValue], + payload: JsonBodyPayload[WildValue], ) -> HttpResponse: message = payload["text"].tame(check_string) app_name_search = re.search(r"\A(.+)", message) diff --git a/zerver/webhooks/appveyor/view.py b/zerver/webhooks/appveyor/view.py index b9d2bb700c..bc7140dd46 100644 --- a/zerver/webhooks/appveyor/view.py +++ b/zerver/webhooks/appveyor/view.py @@ -2,7 +2,7 @@ from django.http import HttpRequest, HttpResponse from zerver.decorator import webhook_view from zerver.lib.response import json_success -from zerver.lib.typed_endpoint import WebhookPayload, typed_endpoint +from zerver.lib.typed_endpoint import JsonBodyPayload, typed_endpoint from zerver.lib.validator import WildValue, check_string from zerver.lib.webhooks.common import check_send_webhook_message from zerver.models import UserProfile @@ -22,7 +22,7 @@ def api_appveyor_webhook( request: HttpRequest, user_profile: UserProfile, *, - payload: WebhookPayload[WildValue], + payload: JsonBodyPayload[WildValue], ) -> HttpResponse: body = get_body_for_http_request(payload) topic = get_topic_for_http_request(payload) diff --git a/zerver/webhooks/azuredevops/view.py b/zerver/webhooks/azuredevops/view.py index 7ea2ebe8f4..ea1bde5a37 100644 --- a/zerver/webhooks/azuredevops/view.py +++ b/zerver/webhooks/azuredevops/view.py @@ -5,7 +5,7 @@ from django.http import HttpRequest, HttpResponse from zerver.decorator import webhook_view from zerver.lib.exceptions import UnsupportedWebhookEventTypeError from zerver.lib.response import json_success -from zerver.lib.typed_endpoint import WebhookPayload, typed_endpoint +from zerver.lib.typed_endpoint import JsonBodyPayload, typed_endpoint from zerver.lib.validator import WildValue, check_int, check_string from zerver.lib.webhooks.common import check_send_webhook_message from zerver.lib.webhooks.git import ( @@ -174,7 +174,7 @@ def api_azuredevops_webhook( request: HttpRequest, user_profile: UserProfile, *, - payload: WebhookPayload[WildValue], + payload: JsonBodyPayload[WildValue], branches: Optional[str] = None, ) -> HttpResponse: event = get_event_name(payload, branches) diff --git a/zerver/webhooks/basecamp/view.py b/zerver/webhooks/basecamp/view.py index e3465af7b8..8005905c2a 100644 --- a/zerver/webhooks/basecamp/view.py +++ b/zerver/webhooks/basecamp/view.py @@ -6,7 +6,7 @@ from django.http import HttpRequest, HttpResponse from zerver.decorator import webhook_view from zerver.lib.exceptions import UnsupportedWebhookEventTypeError from zerver.lib.response import json_success -from zerver.lib.typed_endpoint import WebhookPayload, typed_endpoint +from zerver.lib.typed_endpoint import JsonBodyPayload, typed_endpoint from zerver.lib.validator import WildValue, check_string from zerver.lib.webhooks.common import check_send_webhook_message from zerver.models import UserProfile @@ -43,7 +43,7 @@ def api_basecamp_webhook( request: HttpRequest, user_profile: UserProfile, *, - payload: WebhookPayload[WildValue], + payload: JsonBodyPayload[WildValue], ) -> HttpResponse: event = get_event_type(payload) diff --git a/zerver/webhooks/beeminder/view.py b/zerver/webhooks/beeminder/view.py index 30356b5cff..cc15769727 100644 --- a/zerver/webhooks/beeminder/view.py +++ b/zerver/webhooks/beeminder/view.py @@ -5,7 +5,7 @@ from django.http import HttpRequest, HttpResponse from zerver.decorator import webhook_view from zerver.lib.response import json_success -from zerver.lib.typed_endpoint import WebhookPayload, typed_endpoint +from zerver.lib.typed_endpoint import JsonBodyPayload, typed_endpoint from zerver.lib.validator import WildValue, check_float, check_int, check_string, check_union from zerver.lib.webhooks.common import check_send_webhook_message from zerver.models import UserProfile @@ -29,7 +29,7 @@ def api_beeminder_webhook( request: HttpRequest, user_profile: UserProfile, *, - payload: WebhookPayload[WildValue], + payload: JsonBodyPayload[WildValue], ) -> HttpResponse: goal_name = payload["goal"]["slug"].tame(check_string) limsum = payload["goal"]["limsum"].tame(check_string) diff --git a/zerver/webhooks/bitbucket/view.py b/zerver/webhooks/bitbucket/view.py index 37b0d5b9d1..d92e9dec0f 100644 --- a/zerver/webhooks/bitbucket/view.py +++ b/zerver/webhooks/bitbucket/view.py @@ -4,7 +4,7 @@ from django.http import HttpRequest, HttpResponse from zerver.decorator import authenticated_rest_api_view from zerver.lib.response import json_success -from zerver.lib.typed_endpoint import WebhookPayload, typed_endpoint +from zerver.lib.typed_endpoint import JsonBodyPayload, typed_endpoint from zerver.lib.validator import WildValue, check_string from zerver.lib.webhooks.common import check_send_webhook_message from zerver.lib.webhooks.git import TOPIC_WITH_BRANCH_TEMPLATE, get_push_commits_event_message @@ -17,7 +17,7 @@ def api_bitbucket_webhook( request: HttpRequest, user_profile: UserProfile, *, - payload: WebhookPayload[WildValue], + payload: JsonBodyPayload[WildValue], branches: Optional[str] = None, ) -> HttpResponse: repository = payload["repository"] diff --git a/zerver/webhooks/bitbucket2/view.py b/zerver/webhooks/bitbucket2/view.py index 7135bc0991..a9d05d2597 100644 --- a/zerver/webhooks/bitbucket2/view.py +++ b/zerver/webhooks/bitbucket2/view.py @@ -9,7 +9,7 @@ from returns.curry import partial from zerver.decorator import log_unsupported_webhook_event, webhook_view from zerver.lib.exceptions import UnsupportedWebhookEventTypeError from zerver.lib.response import json_success -from zerver.lib.typed_endpoint import WebhookPayload, typed_endpoint +from zerver.lib.typed_endpoint import JsonBodyPayload, typed_endpoint from zerver.lib.validator import WildValue, check_bool, check_int, check_string from zerver.lib.webhooks.common import ( OptionalUserSpecifiedTopicStr, @@ -82,7 +82,7 @@ def api_bitbucket2_webhook( request: HttpRequest, user_profile: UserProfile, *, - payload: WebhookPayload[WildValue], + payload: JsonBodyPayload[WildValue], branches: Optional[str] = None, user_specified_topic: OptionalUserSpecifiedTopicStr = None, ) -> HttpResponse: diff --git a/zerver/webhooks/bitbucket3/view.py b/zerver/webhooks/bitbucket3/view.py index bc66049430..86e06b3a3f 100644 --- a/zerver/webhooks/bitbucket3/view.py +++ b/zerver/webhooks/bitbucket3/view.py @@ -7,7 +7,7 @@ from returns.curry import partial from zerver.decorator import webhook_view from zerver.lib.exceptions import UnsupportedWebhookEventTypeError from zerver.lib.response import json_success -from zerver.lib.typed_endpoint import WebhookPayload, typed_endpoint +from zerver.lib.typed_endpoint import JsonBodyPayload, typed_endpoint from zerver.lib.validator import WildValue, check_int, check_none_or, check_string from zerver.lib.webhooks.common import ( OptionalUserSpecifiedTopicStr, @@ -428,7 +428,7 @@ def api_bitbucket3_webhook( request: HttpRequest, user_profile: UserProfile, *, - payload: WebhookPayload[WildValue], + payload: JsonBodyPayload[WildValue], branches: Optional[str] = None, user_specified_topic: OptionalUserSpecifiedTopicStr = None, ) -> HttpResponse: diff --git a/zerver/webhooks/buildbot/view.py b/zerver/webhooks/buildbot/view.py index bfe02024ec..39e226ea70 100644 --- a/zerver/webhooks/buildbot/view.py +++ b/zerver/webhooks/buildbot/view.py @@ -2,7 +2,7 @@ from django.http import HttpRequest, HttpResponse from zerver.decorator import webhook_view from zerver.lib.response import json_success -from zerver.lib.typed_endpoint import WebhookPayload, typed_endpoint +from zerver.lib.typed_endpoint import JsonBodyPayload, typed_endpoint from zerver.lib.validator import WildValue, check_int, check_string from zerver.lib.webhooks.common import check_send_webhook_message from zerver.models import UserProfile @@ -16,7 +16,7 @@ def api_buildbot_webhook( request: HttpRequest, user_profile: UserProfile, *, - payload: WebhookPayload[WildValue], + payload: JsonBodyPayload[WildValue], ) -> HttpResponse: topic = payload["project"].tame(check_string) if not topic: diff --git a/zerver/webhooks/canarytoken/view.py b/zerver/webhooks/canarytoken/view.py index f50c2dea5b..861bfa69fa 100644 --- a/zerver/webhooks/canarytoken/view.py +++ b/zerver/webhooks/canarytoken/view.py @@ -4,7 +4,7 @@ from django.http import HttpRequest, HttpResponse from zerver.decorator import webhook_view from zerver.lib.response import json_success -from zerver.lib.typed_endpoint import WebhookPayload, typed_endpoint +from zerver.lib.typed_endpoint import JsonBodyPayload, typed_endpoint from zerver.lib.validator import WildValue, check_string from zerver.lib.webhooks.common import OptionalUserSpecifiedTopicStr, check_send_webhook_message from zerver.models import UserProfile @@ -16,7 +16,7 @@ def api_canarytoken_webhook( request: HttpRequest, user_profile: UserProfile, *, - message: WebhookPayload[WildValue], + message: JsonBodyPayload[WildValue], user_specified_topic: OptionalUserSpecifiedTopicStr = None, ) -> HttpResponse: """ diff --git a/zerver/webhooks/circleci/view.py b/zerver/webhooks/circleci/view.py index a3110114a5..dcf78c5190 100644 --- a/zerver/webhooks/circleci/view.py +++ b/zerver/webhooks/circleci/view.py @@ -4,7 +4,7 @@ from django.utils.translation import gettext as _ from zerver.decorator import webhook_view from zerver.lib.exceptions import JsonableError from zerver.lib.response import json_success -from zerver.lib.typed_endpoint import WebhookPayload, typed_endpoint +from zerver.lib.typed_endpoint import JsonBodyPayload, typed_endpoint from zerver.lib.validator import ( WildValue, check_int, @@ -62,7 +62,7 @@ def api_circleci_webhook( request: HttpRequest, user_profile: UserProfile, *, - payload: WebhookPayload[WildValue], + payload: JsonBodyPayload[WildValue], ) -> HttpResponse: type = payload["type"].tame(check_string) if type == "ping": diff --git a/zerver/webhooks/clubhouse/view.py b/zerver/webhooks/clubhouse/view.py index e14242d7f0..abcf493618 100644 --- a/zerver/webhooks/clubhouse/view.py +++ b/zerver/webhooks/clubhouse/view.py @@ -6,7 +6,7 @@ from returns.curry import partial from zerver.decorator import webhook_view from zerver.lib.exceptions import UnsupportedWebhookEventTypeError from zerver.lib.response import json_success -from zerver.lib.typed_endpoint import WebhookPayload, typed_endpoint +from zerver.lib.typed_endpoint import JsonBodyPayload, typed_endpoint from zerver.lib.validator import ( WildValue, check_bool, @@ -771,7 +771,7 @@ def api_clubhouse_webhook( request: HttpRequest, user_profile: UserProfile, *, - payload: WebhookPayload[WildValue], + payload: JsonBodyPayload[WildValue], ) -> HttpResponse: # Clubhouse has a tendency to send empty POST requests to # third-party endpoints. It is unclear as to which event type diff --git a/zerver/webhooks/codeship/view.py b/zerver/webhooks/codeship/view.py index bfe99ede69..3d5efca07f 100644 --- a/zerver/webhooks/codeship/view.py +++ b/zerver/webhooks/codeship/view.py @@ -3,7 +3,7 @@ from django.http import HttpRequest, HttpResponse from zerver.decorator import webhook_view from zerver.lib.response import json_success -from zerver.lib.typed_endpoint import WebhookPayload, typed_endpoint +from zerver.lib.typed_endpoint import JsonBodyPayload, typed_endpoint from zerver.lib.validator import WildValue, check_string from zerver.lib.webhooks.common import check_send_webhook_message from zerver.models import UserProfile @@ -27,7 +27,7 @@ def api_codeship_webhook( request: HttpRequest, user_profile: UserProfile, *, - payload: WebhookPayload[WildValue], + payload: JsonBodyPayload[WildValue], ) -> HttpResponse: payload = payload["build"] topic = get_topic_for_http_request(payload) diff --git a/zerver/webhooks/crashlytics/view.py b/zerver/webhooks/crashlytics/view.py index 43536620b9..298a2b4681 100644 --- a/zerver/webhooks/crashlytics/view.py +++ b/zerver/webhooks/crashlytics/view.py @@ -3,7 +3,7 @@ from django.http import HttpRequest, HttpResponse from zerver.decorator import webhook_view from zerver.lib.response import json_success -from zerver.lib.typed_endpoint import WebhookPayload, typed_endpoint +from zerver.lib.typed_endpoint import JsonBodyPayload, typed_endpoint from zerver.lib.validator import WildValue, check_int, check_string from zerver.lib.webhooks.common import check_send_webhook_message from zerver.models import UserProfile @@ -23,7 +23,7 @@ def api_crashlytics_webhook( request: HttpRequest, user_profile: UserProfile, *, - payload: WebhookPayload[WildValue], + payload: JsonBodyPayload[WildValue], ) -> HttpResponse: event = payload["event"] if event == VERIFICATION_EVENT: diff --git a/zerver/webhooks/delighted/view.py b/zerver/webhooks/delighted/view.py index 7aa6d39ffe..5629cbe370 100644 --- a/zerver/webhooks/delighted/view.py +++ b/zerver/webhooks/delighted/view.py @@ -2,7 +2,7 @@ from django.http import HttpRequest, HttpResponse from zerver.decorator import webhook_view from zerver.lib.response import json_success -from zerver.lib.typed_endpoint import WebhookPayload, typed_endpoint +from zerver.lib.typed_endpoint import JsonBodyPayload, typed_endpoint from zerver.lib.validator import WildValue, check_int, check_string from zerver.lib.webhooks.common import check_send_webhook_message from zerver.models import UserProfile @@ -37,7 +37,7 @@ def api_delighted_webhook( request: HttpRequest, user_profile: UserProfile, *, - payload: WebhookPayload[WildValue], + payload: JsonBodyPayload[WildValue], ) -> HttpResponse: person = payload["event_data"]["person"] email = person["email"].tame(check_string) diff --git a/zerver/webhooks/dialogflow/view.py b/zerver/webhooks/dialogflow/view.py index a8db2fd3c0..15b3ea07f6 100644 --- a/zerver/webhooks/dialogflow/view.py +++ b/zerver/webhooks/dialogflow/view.py @@ -5,7 +5,7 @@ from zerver.actions.message_send import check_send_private_message from zerver.decorator import webhook_view from zerver.lib.request import RequestNotes from zerver.lib.response import json_success -from zerver.lib.typed_endpoint import WebhookPayload, typed_endpoint +from zerver.lib.typed_endpoint import JsonBodyPayload, typed_endpoint from zerver.lib.validator import WildValue, check_int, check_string from zerver.models import UserProfile, get_user @@ -16,7 +16,7 @@ def api_dialogflow_webhook( request: HttpRequest, user_profile: UserProfile, *, - payload: WebhookPayload[WildValue], + payload: JsonBodyPayload[WildValue], email: str, ) -> HttpResponse: status = payload["status"]["code"].tame(check_int) diff --git a/zerver/webhooks/errbit/view.py b/zerver/webhooks/errbit/view.py index 6d4817f86a..64a9a92385 100644 --- a/zerver/webhooks/errbit/view.py +++ b/zerver/webhooks/errbit/view.py @@ -2,7 +2,7 @@ from django.http import HttpRequest, HttpResponse from zerver.decorator import webhook_view from zerver.lib.response import json_success -from zerver.lib.typed_endpoint import WebhookPayload, typed_endpoint +from zerver.lib.typed_endpoint import JsonBodyPayload, typed_endpoint from zerver.lib.validator import WildValue, check_string from zerver.lib.webhooks.common import check_send_webhook_message from zerver.models import UserProfile @@ -17,7 +17,7 @@ def api_errbit_webhook( request: HttpRequest, user_profile: UserProfile, *, - payload: WebhookPayload[WildValue], + payload: JsonBodyPayload[WildValue], ) -> HttpResponse: topic = get_topic(payload) body = get_body(payload) diff --git a/zerver/webhooks/flock/view.py b/zerver/webhooks/flock/view.py index f6cfa7f009..a43c8771d1 100644 --- a/zerver/webhooks/flock/view.py +++ b/zerver/webhooks/flock/view.py @@ -3,7 +3,7 @@ from django.http import HttpRequest, HttpResponse from zerver.decorator import webhook_view from zerver.lib.response import json_success -from zerver.lib.typed_endpoint import WebhookPayload, typed_endpoint +from zerver.lib.typed_endpoint import JsonBodyPayload, typed_endpoint from zerver.lib.validator import WildValue, check_string from zerver.lib.webhooks.common import check_send_webhook_message from zerver.models import UserProfile @@ -15,7 +15,7 @@ def api_flock_webhook( request: HttpRequest, user_profile: UserProfile, *, - payload: WebhookPayload[WildValue], + payload: JsonBodyPayload[WildValue], ) -> HttpResponse: text = payload["text"].tame(check_string) if len(text) != 0: diff --git a/zerver/webhooks/freshdesk/view.py b/zerver/webhooks/freshdesk/view.py index e6b4f987c6..789ce44922 100644 --- a/zerver/webhooks/freshdesk/view.py +++ b/zerver/webhooks/freshdesk/view.py @@ -6,7 +6,7 @@ from django.http import HttpRequest, HttpResponse from zerver.decorator import authenticated_rest_api_view from zerver.lib.email_notifications import convert_html_to_markdown from zerver.lib.response import json_success -from zerver.lib.typed_endpoint import WebhookPayload, typed_endpoint +from zerver.lib.typed_endpoint import JsonBodyPayload, typed_endpoint from zerver.lib.validator import WildValue, check_string from zerver.lib.webhooks.common import check_send_webhook_message from zerver.models import UserProfile @@ -136,7 +136,7 @@ def api_freshdesk_webhook( request: HttpRequest, user_profile: UserProfile, *, - payload: WebhookPayload[WildValue], + payload: JsonBodyPayload[WildValue], ) -> HttpResponse: ticket = payload["freshdesk_webhook"] diff --git a/zerver/webhooks/freshping/view.py b/zerver/webhooks/freshping/view.py index 362478f620..edc67a51fe 100644 --- a/zerver/webhooks/freshping/view.py +++ b/zerver/webhooks/freshping/view.py @@ -3,7 +3,7 @@ from django.http import HttpRequest, HttpResponse from zerver.decorator import webhook_view from zerver.lib.exceptions import UnsupportedWebhookEventTypeError from zerver.lib.response import json_success -from zerver.lib.typed_endpoint import WebhookPayload, typed_endpoint +from zerver.lib.typed_endpoint import JsonBodyPayload, typed_endpoint from zerver.lib.validator import WildValue, check_int, check_string from zerver.lib.webhooks.common import check_send_webhook_message, get_setup_webhook_message from zerver.models import UserProfile @@ -26,7 +26,7 @@ def api_freshping_webhook( request: HttpRequest, user_profile: UserProfile, *, - payload: WebhookPayload[WildValue], + payload: JsonBodyPayload[WildValue], ) -> HttpResponse: body = get_body_for_http_request(payload) topic = get_topic_for_http_request(payload) diff --git a/zerver/webhooks/freshstatus/view.py b/zerver/webhooks/freshstatus/view.py index 00819dc033..f77c40c275 100644 --- a/zerver/webhooks/freshstatus/view.py +++ b/zerver/webhooks/freshstatus/view.py @@ -10,7 +10,7 @@ from zerver.decorator import webhook_view from zerver.lib.exceptions import JsonableError from zerver.lib.response import json_success from zerver.lib.send_email import FromAddress -from zerver.lib.typed_endpoint import WebhookPayload, typed_endpoint +from zerver.lib.typed_endpoint import JsonBodyPayload, typed_endpoint from zerver.lib.validator import WildValue, check_string from zerver.lib.webhooks.common import check_send_webhook_message, get_setup_webhook_message from zerver.models import UserProfile @@ -84,7 +84,7 @@ def api_freshstatus_webhook( request: HttpRequest, user_profile: UserProfile, *, - payload: WebhookPayload[WildValue], + payload: JsonBodyPayload[WildValue], ) -> HttpResponse: try: body = get_body_for_http_request(payload) diff --git a/zerver/webhooks/front/view.py b/zerver/webhooks/front/view.py index a0d29ec574..e6d437da7b 100644 --- a/zerver/webhooks/front/view.py +++ b/zerver/webhooks/front/view.py @@ -6,7 +6,7 @@ from django.utils.translation import gettext as _ from zerver.decorator import webhook_view from zerver.lib.exceptions import JsonableError from zerver.lib.response import json_success -from zerver.lib.typed_endpoint import WebhookPayload, typed_endpoint +from zerver.lib.typed_endpoint import JsonBodyPayload, typed_endpoint from zerver.lib.validator import WildValue, check_string from zerver.lib.webhooks.common import check_send_webhook_message from zerver.models import UserProfile @@ -141,7 +141,7 @@ def api_front_webhook( request: HttpRequest, user_profile: UserProfile, *, - payload: WebhookPayload[WildValue], + payload: JsonBodyPayload[WildValue], ) -> HttpResponse: event = payload["type"].tame(check_string) if event not in EVENT_FUNCTION_MAPPER: diff --git a/zerver/webhooks/gci/view.py b/zerver/webhooks/gci/view.py index 08095ebcf0..84a4b64e7e 100644 --- a/zerver/webhooks/gci/view.py +++ b/zerver/webhooks/gci/view.py @@ -4,7 +4,7 @@ from django.http import HttpRequest, HttpResponse from zerver.decorator import webhook_view from zerver.lib.response import json_success -from zerver.lib.typed_endpoint import WebhookPayload, typed_endpoint +from zerver.lib.typed_endpoint import JsonBodyPayload, typed_endpoint from zerver.lib.validator import WildValue, check_float, check_int, check_string from zerver.lib.webhooks.common import check_send_webhook_message from zerver.models import UserProfile @@ -138,7 +138,7 @@ def api_gci_webhook( request: HttpRequest, user_profile: UserProfile, *, - payload: WebhookPayload[WildValue], + payload: JsonBodyPayload[WildValue], ) -> HttpResponse: event = get_event(payload) if event is not None: diff --git a/zerver/webhooks/gitea/view.py b/zerver/webhooks/gitea/view.py index ae106728f2..55e5f9c1ba 100644 --- a/zerver/webhooks/gitea/view.py +++ b/zerver/webhooks/gitea/view.py @@ -4,7 +4,7 @@ from typing import Optional from django.http import HttpRequest, HttpResponse from zerver.decorator import webhook_view -from zerver.lib.typed_endpoint import WebhookPayload, typed_endpoint +from zerver.lib.typed_endpoint import JsonBodyPayload, typed_endpoint from zerver.lib.validator import WildValue, check_bool, check_int, check_string from zerver.lib.webhooks.common import OptionalUserSpecifiedTopicStr, get_http_headers_from_filename from zerver.lib.webhooks.git import get_pull_request_event_message @@ -56,7 +56,7 @@ def api_gitea_webhook( request: HttpRequest, user_profile: UserProfile, *, - payload: WebhookPayload[WildValue], + payload: JsonBodyPayload[WildValue], branches: Optional[str] = None, user_specified_topic: OptionalUserSpecifiedTopicStr = None, ) -> HttpResponse: diff --git a/zerver/webhooks/github/view.py b/zerver/webhooks/github/view.py index 53f30e5a44..b269925284 100644 --- a/zerver/webhooks/github/view.py +++ b/zerver/webhooks/github/view.py @@ -7,7 +7,7 @@ from returns.curry import partial from zerver.decorator import log_unsupported_webhook_event, webhook_view from zerver.lib.exceptions import UnsupportedWebhookEventTypeError from zerver.lib.response import json_success -from zerver.lib.typed_endpoint import WebhookPayload, typed_endpoint +from zerver.lib.typed_endpoint import JsonBodyPayload, typed_endpoint from zerver.lib.validator import WildValue, check_bool, check_int, check_none_or, check_string from zerver.lib.webhooks.common import ( OptionalUserSpecifiedTopicStr, @@ -795,7 +795,7 @@ def api_github_webhook( request: HttpRequest, user_profile: UserProfile, *, - payload: WebhookPayload[WildValue], + payload: JsonBodyPayload[WildValue], branches: Optional[str] = None, user_specified_topic: OptionalUserSpecifiedTopicStr = None, ) -> HttpResponse: diff --git a/zerver/webhooks/gitlab/view.py b/zerver/webhooks/gitlab/view.py index 184dcdd2ec..3988411dbe 100644 --- a/zerver/webhooks/gitlab/view.py +++ b/zerver/webhooks/gitlab/view.py @@ -8,7 +8,7 @@ from returns.curry import partial from zerver.decorator import webhook_view from zerver.lib.exceptions import UnsupportedWebhookEventTypeError from zerver.lib.response import json_success -from zerver.lib.typed_endpoint import WebhookPayload, typed_endpoint +from zerver.lib.typed_endpoint import JsonBodyPayload, typed_endpoint from zerver.lib.validator import WildValue, check_int, check_string from zerver.lib.webhooks.common import ( OptionalUserSpecifiedTopicStr, @@ -423,7 +423,7 @@ def api_gitlab_webhook( request: HttpRequest, user_profile: UserProfile, *, - payload: WebhookPayload[WildValue], + payload: JsonBodyPayload[WildValue], branches: Optional[str] = None, use_merge_request_title: Json[bool] = True, user_specified_topic: OptionalUserSpecifiedTopicStr = None, diff --git a/zerver/webhooks/gocd/view.py b/zerver/webhooks/gocd/view.py index 97417de22f..58f1d21ff5 100644 --- a/zerver/webhooks/gocd/view.py +++ b/zerver/webhooks/gocd/view.py @@ -6,7 +6,7 @@ from django.http import HttpRequest, HttpResponse from zerver.decorator import webhook_view from zerver.lib.response import json_success -from zerver.lib.typed_endpoint import WebhookPayload, typed_endpoint +from zerver.lib.typed_endpoint import JsonBodyPayload, typed_endpoint from zerver.lib.validator import WildValue, check_string from zerver.lib.webhooks.common import check_send_webhook_message from zerver.models import UserProfile @@ -24,7 +24,7 @@ def api_gocd_webhook( request: HttpRequest, user_profile: UserProfile, *, - payload: WebhookPayload[WildValue], + payload: JsonBodyPayload[WildValue], ) -> HttpResponse: modifications = payload["build_cause"]["material_revisions"][0]["modifications"][0] result = payload["stages"][0]["result"].tame(check_string) diff --git a/zerver/webhooks/gogs/view.py b/zerver/webhooks/gogs/view.py index 91264c7a38..d436803889 100644 --- a/zerver/webhooks/gogs/view.py +++ b/zerver/webhooks/gogs/view.py @@ -6,7 +6,7 @@ from django.http import HttpRequest, HttpResponse from zerver.decorator import webhook_view from zerver.lib.exceptions import UnsupportedWebhookEventTypeError from zerver.lib.response import json_success -from zerver.lib.typed_endpoint import WebhookPayload, typed_endpoint +from zerver.lib.typed_endpoint import JsonBodyPayload, typed_endpoint from zerver.lib.validator import WildValue, check_bool, check_int, check_string from zerver.lib.webhooks.common import ( OptionalUserSpecifiedTopicStr, @@ -156,7 +156,7 @@ def api_gogs_webhook( request: HttpRequest, user_profile: UserProfile, *, - payload: WebhookPayload[WildValue], + payload: JsonBodyPayload[WildValue], branches: Optional[str] = None, user_specified_topic: OptionalUserSpecifiedTopicStr = None, ) -> HttpResponse: diff --git a/zerver/webhooks/gosquared/view.py b/zerver/webhooks/gosquared/view.py index 38f7190914..2ed4dc5207 100644 --- a/zerver/webhooks/gosquared/view.py +++ b/zerver/webhooks/gosquared/view.py @@ -3,7 +3,7 @@ from django.http import HttpRequest, HttpResponse from zerver.decorator import webhook_view from zerver.lib.exceptions import UnsupportedWebhookEventTypeError from zerver.lib.response import json_success -from zerver.lib.typed_endpoint import WebhookPayload, typed_endpoint +from zerver.lib.typed_endpoint import JsonBodyPayload, typed_endpoint from zerver.lib.validator import WildValue, check_bool, check_int, check_string from zerver.lib.webhooks.common import check_send_webhook_message from zerver.models import UserProfile @@ -27,7 +27,7 @@ def api_gosquared_webhook( request: HttpRequest, user_profile: UserProfile, *, - payload: WebhookPayload[WildValue], + payload: JsonBodyPayload[WildValue], ) -> HttpResponse: body = "" topic = "" diff --git a/zerver/webhooks/grafana/view.py b/zerver/webhooks/grafana/view.py index 360ed560ad..de2bd0e825 100644 --- a/zerver/webhooks/grafana/view.py +++ b/zerver/webhooks/grafana/view.py @@ -2,7 +2,7 @@ from django.http import HttpRequest, HttpResponse from zerver.decorator import webhook_view from zerver.lib.response import json_success -from zerver.lib.typed_endpoint import WebhookPayload, typed_endpoint +from zerver.lib.typed_endpoint import JsonBodyPayload, typed_endpoint from zerver.lib.validator import ( WildValue, check_float, @@ -49,7 +49,7 @@ def api_grafana_webhook( request: HttpRequest, user_profile: UserProfile, *, - payload: WebhookPayload[WildValue], + payload: JsonBodyPayload[WildValue], ) -> HttpResponse: # Grafana alerting system. if "alerts" in payload: diff --git a/zerver/webhooks/greenhouse/view.py b/zerver/webhooks/greenhouse/view.py index 2a5b52b2a4..a13357ebb0 100644 --- a/zerver/webhooks/greenhouse/view.py +++ b/zerver/webhooks/greenhouse/view.py @@ -2,7 +2,7 @@ from django.http import HttpRequest, HttpResponse from zerver.decorator import webhook_view from zerver.lib.response import json_success -from zerver.lib.typed_endpoint import WebhookPayload, typed_endpoint +from zerver.lib.typed_endpoint import JsonBodyPayload, typed_endpoint from zerver.lib.validator import WildValue, check_int, check_none_or, check_string, check_url from zerver.lib.webhooks.common import check_send_webhook_message from zerver.models import UserProfile @@ -36,7 +36,7 @@ def api_greenhouse_webhook( request: HttpRequest, user_profile: UserProfile, *, - payload: WebhookPayload[WildValue], + payload: JsonBodyPayload[WildValue], ) -> HttpResponse: action = payload["action"].tame(check_string) if action == "ping": diff --git a/zerver/webhooks/groove/view.py b/zerver/webhooks/groove/view.py index de6b6ca14e..badfe0615e 100644 --- a/zerver/webhooks/groove/view.py +++ b/zerver/webhooks/groove/view.py @@ -7,7 +7,7 @@ from returns.curry import partial from zerver.decorator import webhook_view from zerver.lib.exceptions import UnsupportedWebhookEventTypeError from zerver.lib.response import json_success -from zerver.lib.typed_endpoint import WebhookPayload, typed_endpoint +from zerver.lib.typed_endpoint import JsonBodyPayload, typed_endpoint from zerver.lib.validator import WildValue, check_int, check_none_or, check_string, check_url from zerver.lib.webhooks.common import ( check_send_webhook_message, @@ -107,7 +107,7 @@ def api_groove_webhook( request: HttpRequest, user_profile: UserProfile, *, - payload: WebhookPayload[WildValue], + payload: JsonBodyPayload[WildValue], ) -> HttpResponse: event = validate_extract_webhook_http_header(request, "X-Groove-Event", "Groove") assert event is not None diff --git a/zerver/webhooks/harbor/view.py b/zerver/webhooks/harbor/view.py index 72314291e7..443cd25268 100644 --- a/zerver/webhooks/harbor/view.py +++ b/zerver/webhooks/harbor/view.py @@ -7,7 +7,7 @@ from django.http import HttpRequest, HttpResponse from zerver.decorator import webhook_view from zerver.lib.exceptions import UnsupportedWebhookEventTypeError from zerver.lib.response import json_success -from zerver.lib.typed_endpoint import WebhookPayload, typed_endpoint +from zerver.lib.typed_endpoint import JsonBodyPayload, typed_endpoint from zerver.lib.validator import WildValue, check_int, check_string from zerver.lib.webhooks.common import check_send_webhook_message from zerver.models import Realm, UserProfile @@ -95,7 +95,7 @@ def api_harbor_webhook( request: HttpRequest, user_profile: UserProfile, *, - payload: WebhookPayload[WildValue], + payload: JsonBodyPayload[WildValue], ) -> HttpResponse: operator_username = "**{}**".format(payload["operator"].tame(check_string)) diff --git a/zerver/webhooks/helloworld/view.py b/zerver/webhooks/helloworld/view.py index c862cb1b26..67bc61ae2f 100644 --- a/zerver/webhooks/helloworld/view.py +++ b/zerver/webhooks/helloworld/view.py @@ -4,7 +4,7 @@ from django.http import HttpRequest, HttpResponse from zerver.decorator import webhook_view from zerver.lib.response import json_success -from zerver.lib.typed_endpoint import WebhookPayload, typed_endpoint +from zerver.lib.typed_endpoint import JsonBodyPayload, typed_endpoint from zerver.lib.validator import WildValue, check_string from zerver.lib.webhooks.common import check_send_webhook_message from zerver.models import UserProfile @@ -16,7 +16,7 @@ def api_helloworld_webhook( request: HttpRequest, user_profile: UserProfile, *, - payload: WebhookPayload[WildValue], + payload: JsonBodyPayload[WildValue], ) -> HttpResponse: # construct the body of the message body = "Hello! I am happy to be here! :smile:" diff --git a/zerver/webhooks/homeassistant/view.py b/zerver/webhooks/homeassistant/view.py index 1f182ac789..001a4faee5 100644 --- a/zerver/webhooks/homeassistant/view.py +++ b/zerver/webhooks/homeassistant/view.py @@ -2,7 +2,7 @@ from django.http import HttpRequest, HttpResponse from zerver.decorator import webhook_view from zerver.lib.response import json_success -from zerver.lib.typed_endpoint import WebhookPayload, typed_endpoint +from zerver.lib.typed_endpoint import JsonBodyPayload, typed_endpoint from zerver.lib.validator import WildValue, check_string from zerver.lib.webhooks.common import check_send_webhook_message from zerver.models import UserProfile @@ -14,7 +14,7 @@ def api_homeassistant_webhook( request: HttpRequest, user_profile: UserProfile, *, - payload: WebhookPayload[WildValue], + payload: JsonBodyPayload[WildValue], ) -> HttpResponse: # construct the body of the message body = payload["message"].tame(check_string) diff --git a/zerver/webhooks/ifttt/view.py b/zerver/webhooks/ifttt/view.py index 922845c1f5..c08cac8897 100644 --- a/zerver/webhooks/ifttt/view.py +++ b/zerver/webhooks/ifttt/view.py @@ -5,7 +5,7 @@ from django.utils.translation import gettext as _ from zerver.decorator import webhook_view from zerver.lib.exceptions import JsonableError from zerver.lib.response import json_success -from zerver.lib.typed_endpoint import WebhookPayload, typed_endpoint +from zerver.lib.typed_endpoint import JsonBodyPayload, typed_endpoint from zerver.lib.validator import WildValue, check_none_or, check_string from zerver.lib.webhooks.common import check_send_webhook_message from zerver.models import UserProfile @@ -17,7 +17,7 @@ def api_iftt_app_webhook( request: HttpRequest, user_profile: UserProfile, *, - payload: WebhookPayload[WildValue], + payload: JsonBodyPayload[WildValue], ) -> HttpResponse: try: topic = payload.get("topic").tame(check_none_or(check_string)) diff --git a/zerver/webhooks/insping/view.py b/zerver/webhooks/insping/view.py index 9a5c7022c0..78565df7a7 100644 --- a/zerver/webhooks/insping/view.py +++ b/zerver/webhooks/insping/view.py @@ -4,7 +4,7 @@ from django.http import HttpRequest, HttpResponse from zerver.decorator import webhook_view from zerver.lib.response import json_success -from zerver.lib.typed_endpoint import WebhookPayload, typed_endpoint +from zerver.lib.typed_endpoint import JsonBodyPayload, typed_endpoint from zerver.lib.validator import WildValue, check_int, check_string from zerver.lib.webhooks.common import check_send_webhook_message from zerver.models import UserProfile @@ -23,7 +23,7 @@ def api_insping_webhook( request: HttpRequest, user_profile: UserProfile, *, - payload: WebhookPayload[WildValue], + payload: JsonBodyPayload[WildValue], ) -> HttpResponse: data = payload["webhook_event_data"] diff --git a/zerver/webhooks/intercom/view.py b/zerver/webhooks/intercom/view.py index 2c2550999e..17b2ca5ed5 100644 --- a/zerver/webhooks/intercom/view.py +++ b/zerver/webhooks/intercom/view.py @@ -7,7 +7,7 @@ from returns.curry import partial from zerver.decorator import return_success_on_head_request, webhook_view from zerver.lib.exceptions import UnsupportedWebhookEventTypeError from zerver.lib.response import json_success -from zerver.lib.typed_endpoint import WebhookPayload, typed_endpoint +from zerver.lib.typed_endpoint import JsonBodyPayload, typed_endpoint from zerver.lib.validator import WildValue, check_int, check_none_or, check_string from zerver.lib.webhooks.common import check_send_webhook_message from zerver.models import UserProfile @@ -332,7 +332,7 @@ def api_intercom_webhook( request: HttpRequest, user_profile: UserProfile, *, - payload: WebhookPayload[WildValue], + payload: JsonBodyPayload[WildValue], ) -> HttpResponse: event_type = payload["topic"].tame(check_string) if event_type == "ping": diff --git a/zerver/webhooks/jira/view.py b/zerver/webhooks/jira/view.py index 6fc985009b..7e864e22cf 100644 --- a/zerver/webhooks/jira/view.py +++ b/zerver/webhooks/jira/view.py @@ -10,7 +10,7 @@ from django.http import HttpRequest, HttpResponse from zerver.decorator import webhook_view from zerver.lib.exceptions import AnomalousWebhookPayloadError, UnsupportedWebhookEventTypeError from zerver.lib.response import json_success -from zerver.lib.typed_endpoint import WebhookPayload, typed_endpoint +from zerver.lib.typed_endpoint import JsonBodyPayload, typed_endpoint from zerver.lib.validator import WildValue, check_none_or, check_string from zerver.lib.webhooks.common import check_send_webhook_message from zerver.models import Realm, UserProfile, get_user_by_delivery_email @@ -356,7 +356,7 @@ def api_jira_webhook( request: HttpRequest, user_profile: UserProfile, *, - payload: WebhookPayload[WildValue], + payload: JsonBodyPayload[WildValue], ) -> HttpResponse: event = get_event_type(payload) if event in IGNORED_EVENTS: diff --git a/zerver/webhooks/jotform/view.py b/zerver/webhooks/jotform/view.py index 2e86949978..36740e914e 100644 --- a/zerver/webhooks/jotform/view.py +++ b/zerver/webhooks/jotform/view.py @@ -4,7 +4,7 @@ from django.http import HttpRequest, HttpResponse from zerver.decorator import webhook_view from zerver.lib.response import json_success -from zerver.lib.typed_endpoint import WebhookPayload, typed_endpoint +from zerver.lib.typed_endpoint import JsonBodyPayload, typed_endpoint from zerver.lib.validator import WildValue, check_string from zerver.lib.webhooks.common import check_send_webhook_message from zerver.models import UserProfile @@ -16,7 +16,7 @@ def api_jotform_webhook( request: HttpRequest, user_profile: UserProfile, *, - payload: WebhookPayload[WildValue], + payload: JsonBodyPayload[WildValue], ) -> HttpResponse: topic = payload["formTitle"].tame(check_string) submission_id = payload["submissionID"].tame(check_string) diff --git a/zerver/webhooks/json/view.py b/zerver/webhooks/json/view.py index e07e58b57a..77e302f097 100644 --- a/zerver/webhooks/json/view.py +++ b/zerver/webhooks/json/view.py @@ -5,7 +5,7 @@ from django.http import HttpRequest, HttpResponse from zerver.decorator import webhook_view from zerver.lib.response import json_success -from zerver.lib.typed_endpoint import WebhookPayload, typed_endpoint +from zerver.lib.typed_endpoint import JsonBodyPayload, typed_endpoint from zerver.lib.webhooks.common import check_send_webhook_message from zerver.models import UserProfile @@ -22,7 +22,7 @@ def api_json_webhook( request: HttpRequest, user_profile: UserProfile, *, - payload: WebhookPayload[Dict[str, Any]], + payload: JsonBodyPayload[Dict[str, Any]], ) -> HttpResponse: body = get_body_for_http_request(payload) topic = get_topic_for_http_request(payload) diff --git a/zerver/webhooks/lidarr/view.py b/zerver/webhooks/lidarr/view.py index cf1ffdbeb9..227070b7ec 100644 --- a/zerver/webhooks/lidarr/view.py +++ b/zerver/webhooks/lidarr/view.py @@ -5,7 +5,7 @@ from django.http import HttpRequest, HttpResponse from zerver.decorator import webhook_view from zerver.lib.exceptions import UnsupportedWebhookEventTypeError from zerver.lib.response import json_success -from zerver.lib.typed_endpoint import WebhookPayload, typed_endpoint +from zerver.lib.typed_endpoint import JsonBodyPayload, typed_endpoint from zerver.lib.validator import WildValue, check_bool, check_string from zerver.lib.webhooks.common import check_send_webhook_message, get_setup_webhook_message from zerver.models import UserProfile @@ -59,7 +59,7 @@ def api_lidarr_webhook( request: HttpRequest, user_profile: UserProfile, *, - payload: WebhookPayload[WildValue], + payload: JsonBodyPayload[WildValue], ) -> HttpResponse: body = get_body_for_http_request(payload) topic = get_topic_for_http_request(payload) diff --git a/zerver/webhooks/linear/view.py b/zerver/webhooks/linear/view.py index 3b2097f9d2..f8398d40de 100644 --- a/zerver/webhooks/linear/view.py +++ b/zerver/webhooks/linear/view.py @@ -5,7 +5,7 @@ from django.http import HttpRequest, HttpResponse from zerver.decorator import webhook_view from zerver.lib.exceptions import UnsupportedWebhookEventTypeError from zerver.lib.response import json_success -from zerver.lib.typed_endpoint import WebhookPayload, typed_endpoint +from zerver.lib.typed_endpoint import JsonBodyPayload, typed_endpoint from zerver.lib.validator import WildValue, check_int, check_string from zerver.lib.webhooks.common import OptionalUserSpecifiedTopicStr, check_send_webhook_message from zerver.models import UserProfile @@ -116,7 +116,7 @@ def api_linear_webhook( request: HttpRequest, user_profile: UserProfile, *, - payload: WebhookPayload[WildValue], + payload: JsonBodyPayload[WildValue], user_specified_topic: OptionalUserSpecifiedTopicStr = None, ) -> HttpResponse: event_type = get_event_type(payload) diff --git a/zerver/webhooks/mention/view.py b/zerver/webhooks/mention/view.py index ab3f33bb6a..9c8a65150a 100644 --- a/zerver/webhooks/mention/view.py +++ b/zerver/webhooks/mention/view.py @@ -3,7 +3,7 @@ from django.http import HttpRequest, HttpResponse from zerver.decorator import webhook_view from zerver.lib.response import json_success -from zerver.lib.typed_endpoint import WebhookPayload, typed_endpoint +from zerver.lib.typed_endpoint import JsonBodyPayload, typed_endpoint from zerver.lib.validator import WildValue, check_string from zerver.lib.webhooks.common import check_send_webhook_message from zerver.models import UserProfile @@ -15,7 +15,7 @@ def api_mention_webhook( request: HttpRequest, user_profile: UserProfile, *, - payload: WebhookPayload[WildValue], + payload: JsonBodyPayload[WildValue], ) -> HttpResponse: title = payload["title"].tame(check_string) source_url = payload["url"].tame(check_string) diff --git a/zerver/webhooks/netlify/view.py b/zerver/webhooks/netlify/view.py index be5aa46b33..4dea627a92 100644 --- a/zerver/webhooks/netlify/view.py +++ b/zerver/webhooks/netlify/view.py @@ -5,7 +5,7 @@ from django.http import HttpRequest, HttpResponse from zerver.decorator import webhook_view from zerver.lib.exceptions import UnsupportedWebhookEventTypeError from zerver.lib.response import json_success -from zerver.lib.typed_endpoint import WebhookPayload, typed_endpoint +from zerver.lib.typed_endpoint import JsonBodyPayload, typed_endpoint from zerver.lib.validator import WildValue, check_string from zerver.lib.webhooks.common import ( check_send_webhook_message, @@ -31,7 +31,7 @@ def api_netlify_webhook( request: HttpRequest, user_profile: UserProfile, *, - payload: WebhookPayload[WildValue], + payload: JsonBodyPayload[WildValue], ) -> HttpResponse: message_template, event = get_template(request, payload) diff --git a/zerver/webhooks/newrelic/view.py b/zerver/webhooks/newrelic/view.py index 1c1430b8e9..f4f1be24d6 100644 --- a/zerver/webhooks/newrelic/view.py +++ b/zerver/webhooks/newrelic/view.py @@ -5,7 +5,7 @@ from django.utils.translation import gettext as _ from zerver.decorator import webhook_view from zerver.lib.exceptions import JsonableError from zerver.lib.response import json_success -from zerver.lib.typed_endpoint import WebhookPayload, typed_endpoint +from zerver.lib.typed_endpoint import JsonBodyPayload, typed_endpoint from zerver.lib.validator import ( WildValue, check_int, @@ -55,7 +55,7 @@ def api_newrelic_webhook( request: HttpRequest, user_profile: UserProfile, *, - payload: WebhookPayload[WildValue], + payload: JsonBodyPayload[WildValue], ) -> HttpResponse: # Handle old format # Once old is EOLed, delete if block and keep else block diff --git a/zerver/webhooks/opbeat/view.py b/zerver/webhooks/opbeat/view.py index 18845f2ef6..30dfcb0993 100644 --- a/zerver/webhooks/opbeat/view.py +++ b/zerver/webhooks/opbeat/view.py @@ -5,7 +5,7 @@ from django.http import HttpRequest, HttpResponse from zerver.decorator import webhook_view from zerver.lib.response import json_success -from zerver.lib.typed_endpoint import WebhookPayload, typed_endpoint +from zerver.lib.typed_endpoint import JsonBodyPayload, typed_endpoint from zerver.lib.validator import WildValue, check_int, check_none_or, check_string, check_union from zerver.lib.webhooks.common import check_send_webhook_message from zerver.models import UserProfile @@ -106,7 +106,7 @@ def api_opbeat_webhook( request: HttpRequest, user_profile: UserProfile, *, - payload: WebhookPayload[WildValue], + payload: JsonBodyPayload[WildValue], ) -> HttpResponse: """ This uses the subject name from opbeat to make the topic, diff --git a/zerver/webhooks/opencollective/view.py b/zerver/webhooks/opencollective/view.py index dd71b7f1fb..85a1593b41 100644 --- a/zerver/webhooks/opencollective/view.py +++ b/zerver/webhooks/opencollective/view.py @@ -2,7 +2,7 @@ from django.http import HttpRequest, HttpResponse from zerver.decorator import webhook_view from zerver.lib.response import json_success -from zerver.lib.typed_endpoint import WebhookPayload, typed_endpoint +from zerver.lib.typed_endpoint import JsonBodyPayload, typed_endpoint from zerver.lib.validator import WildValue, check_string from zerver.lib.webhooks.common import check_send_webhook_message from zerver.models import UserProfile @@ -17,7 +17,7 @@ def api_opencollective_webhook( request: HttpRequest, user_profile: UserProfile, *, - payload: WebhookPayload[WildValue], + payload: JsonBodyPayload[WildValue], ) -> HttpResponse: name = get_name(payload) amount = get_amount(payload) diff --git a/zerver/webhooks/opsgenie/view.py b/zerver/webhooks/opsgenie/view.py index 19af7a71ca..b8efe1e9cb 100644 --- a/zerver/webhooks/opsgenie/view.py +++ b/zerver/webhooks/opsgenie/view.py @@ -2,7 +2,7 @@ from django.http import HttpRequest, HttpResponse from zerver.decorator import webhook_view from zerver.lib.response import json_success -from zerver.lib.typed_endpoint import WebhookPayload, typed_endpoint +from zerver.lib.typed_endpoint import JsonBodyPayload, typed_endpoint from zerver.lib.validator import WildValue, check_string from zerver.lib.webhooks.common import check_send_webhook_message from zerver.models import UserProfile @@ -31,7 +31,7 @@ def api_opsgenie_webhook( request: HttpRequest, user_profile: UserProfile, *, - payload: WebhookPayload[WildValue], + payload: JsonBodyPayload[WildValue], ) -> HttpResponse: # construct the body of the message info = { diff --git a/zerver/webhooks/pagerduty/view.py b/zerver/webhooks/pagerduty/view.py index 7518860b9d..f93a0daabc 100644 --- a/zerver/webhooks/pagerduty/view.py +++ b/zerver/webhooks/pagerduty/view.py @@ -7,7 +7,7 @@ from typing_extensions import TypeAlias from zerver.decorator import webhook_view from zerver.lib.exceptions import UnsupportedWebhookEventTypeError from zerver.lib.response import json_success -from zerver.lib.typed_endpoint import WebhookPayload, typed_endpoint +from zerver.lib.typed_endpoint import JsonBodyPayload, typed_endpoint from zerver.lib.validator import WildValue, check_int, check_none_or, check_string from zerver.lib.webhooks.common import check_send_webhook_message from zerver.models import UserProfile @@ -236,7 +236,7 @@ def api_pagerduty_webhook( request: HttpRequest, user_profile: UserProfile, *, - payload: WebhookPayload[WildValue], + payload: JsonBodyPayload[WildValue], ) -> HttpResponse: messages = payload.get("messages") if messages: diff --git a/zerver/webhooks/pingdom/view.py b/zerver/webhooks/pingdom/view.py index a16d65b02e..c8ae719b22 100644 --- a/zerver/webhooks/pingdom/view.py +++ b/zerver/webhooks/pingdom/view.py @@ -4,7 +4,7 @@ from django.http import HttpRequest, HttpResponse from zerver.decorator import webhook_view from zerver.lib.exceptions import UnsupportedWebhookEventTypeError from zerver.lib.response import json_success -from zerver.lib.typed_endpoint import WebhookPayload, typed_endpoint +from zerver.lib.typed_endpoint import JsonBodyPayload, typed_endpoint from zerver.lib.validator import WildValue, check_string from zerver.lib.webhooks.common import check_send_webhook_message from zerver.models import UserProfile @@ -44,7 +44,7 @@ def api_pingdom_webhook( request: HttpRequest, user_profile: UserProfile, *, - payload: WebhookPayload[WildValue], + payload: JsonBodyPayload[WildValue], ) -> HttpResponse: check_type = get_check_type(payload) diff --git a/zerver/webhooks/radarr/view.py b/zerver/webhooks/radarr/view.py index ddd8714471..e971d86fd8 100644 --- a/zerver/webhooks/radarr/view.py +++ b/zerver/webhooks/radarr/view.py @@ -3,7 +3,7 @@ from django.http import HttpRequest, HttpResponse from zerver.decorator import webhook_view from zerver.lib.exceptions import UnsupportedWebhookEventTypeError from zerver.lib.response import json_success -from zerver.lib.typed_endpoint import WebhookPayload, typed_endpoint +from zerver.lib.typed_endpoint import JsonBodyPayload, typed_endpoint from zerver.lib.validator import WildValue, check_bool, check_string, check_string_in from zerver.lib.webhooks.common import check_send_webhook_message, get_setup_webhook_message from zerver.models import UserProfile @@ -50,7 +50,7 @@ def api_radarr_webhook( request: HttpRequest, user_profile: UserProfile, *, - payload: WebhookPayload[WildValue], + payload: JsonBodyPayload[WildValue], ) -> HttpResponse: body = get_body_for_http_request(payload) topic = get_topic_for_http_request(payload) diff --git a/zerver/webhooks/raygun/view.py b/zerver/webhooks/raygun/view.py index d49f32f862..5808d42018 100644 --- a/zerver/webhooks/raygun/view.py +++ b/zerver/webhooks/raygun/view.py @@ -5,7 +5,7 @@ from django.http import HttpRequest, HttpResponse from zerver.decorator import webhook_view from zerver.lib.exceptions import UnsupportedWebhookEventTypeError from zerver.lib.response import json_success -from zerver.lib.typed_endpoint import WebhookPayload, typed_endpoint +from zerver.lib.typed_endpoint import JsonBodyPayload, typed_endpoint from zerver.lib.validator import WildValue, check_anything, check_int, check_list, check_string from zerver.lib.webhooks.common import check_send_webhook_message from zerver.models import UserProfile @@ -19,7 +19,7 @@ def api_raygun_webhook( request: HttpRequest, user_profile: UserProfile, *, - payload: WebhookPayload[WildValue], + payload: JsonBodyPayload[WildValue], ) -> HttpResponse: # The payload contains 'event' key. This 'event' key has a value of either # 'error_notification' or 'error_activity'. 'error_notification' happens diff --git a/zerver/webhooks/reviewboard/view.py b/zerver/webhooks/reviewboard/view.py index 2e2d14e609..7aeee7a795 100644 --- a/zerver/webhooks/reviewboard/view.py +++ b/zerver/webhooks/reviewboard/view.py @@ -3,7 +3,7 @@ from django.http import HttpRequest, HttpResponse from zerver.decorator import webhook_view from zerver.lib.exceptions import UnsupportedWebhookEventTypeError from zerver.lib.response import json_success -from zerver.lib.typed_endpoint import WebhookPayload, typed_endpoint +from zerver.lib.typed_endpoint import JsonBodyPayload, typed_endpoint from zerver.lib.validator import WildValue, check_int, check_none_or, check_string from zerver.lib.webhooks.common import ( check_send_webhook_message, @@ -182,7 +182,7 @@ def api_reviewboard_webhook( request: HttpRequest, user_profile: UserProfile, *, - payload: WebhookPayload[WildValue], + payload: JsonBodyPayload[WildValue], ) -> HttpResponse: event_type = validate_extract_webhook_http_header( request, "X-ReviewBoard-Event", "Review Board" diff --git a/zerver/webhooks/rhodecode/view.py b/zerver/webhooks/rhodecode/view.py index cca29b84b8..eef66d20ea 100644 --- a/zerver/webhooks/rhodecode/view.py +++ b/zerver/webhooks/rhodecode/view.py @@ -6,7 +6,7 @@ from django.http import HttpRequest, HttpResponse from zerver.decorator import webhook_view from zerver.lib.exceptions import UnsupportedWebhookEventTypeError from zerver.lib.response import json_success -from zerver.lib.typed_endpoint import WebhookPayload, typed_endpoint +from zerver.lib.typed_endpoint import JsonBodyPayload, typed_endpoint from zerver.lib.validator import WildValue, check_string from zerver.lib.webhooks.common import check_send_webhook_message from zerver.lib.webhooks.git import TOPIC_WITH_BRANCH_TEMPLATE, get_push_commits_event_message @@ -81,7 +81,7 @@ def api_rhodecode_webhook( request: HttpRequest, user_profile: UserProfile, *, - payload: WebhookPayload[WildValue], + payload: JsonBodyPayload[WildValue], branches: Optional[str] = None, ) -> HttpResponse: event = get_event_name(payload, branches) diff --git a/zerver/webhooks/rundeck/view.py b/zerver/webhooks/rundeck/view.py index a5053c4184..74072430c2 100644 --- a/zerver/webhooks/rundeck/view.py +++ b/zerver/webhooks/rundeck/view.py @@ -2,7 +2,7 @@ from django.http import HttpRequest, HttpResponse from zerver.decorator import webhook_view from zerver.lib.response import json_success -from zerver.lib.typed_endpoint import WebhookPayload, typed_endpoint +from zerver.lib.typed_endpoint import JsonBodyPayload, typed_endpoint from zerver.lib.validator import WildValue, check_int, check_string from zerver.lib.webhooks.common import check_send_webhook_message from zerver.models import UserProfile @@ -17,7 +17,7 @@ def api_rundeck_webhook( request: HttpRequest, user_profile: UserProfile, *, - payload: WebhookPayload[WildValue], + payload: JsonBodyPayload[WildValue], ) -> HttpResponse: topic = get_topic(payload) body = get_body(payload) diff --git a/zerver/webhooks/semaphore/view.py b/zerver/webhooks/semaphore/view.py index f4da9d8621..3fa4d49981 100644 --- a/zerver/webhooks/semaphore/view.py +++ b/zerver/webhooks/semaphore/view.py @@ -6,7 +6,7 @@ from django.http import HttpRequest, HttpResponse from zerver.decorator import webhook_view from zerver.lib.response import json_success -from zerver.lib.typed_endpoint import WebhookPayload, typed_endpoint +from zerver.lib.typed_endpoint import JsonBodyPayload, typed_endpoint from zerver.lib.validator import WildValue, check_int, check_string from zerver.lib.webhooks.common import check_send_webhook_message from zerver.lib.webhooks.git import get_short_sha @@ -97,7 +97,7 @@ def api_semaphore_webhook( request: HttpRequest, user_profile: UserProfile, *, - payload: WebhookPayload[WildValue], + payload: JsonBodyPayload[WildValue], ) -> HttpResponse: content, project_name, branch_name, event = ( semaphore_classic(payload) if "event" in payload else semaphore_2(payload) diff --git a/zerver/webhooks/sentry/view.py b/zerver/webhooks/sentry/view.py index 57ec777399..65a5c6d1ca 100644 --- a/zerver/webhooks/sentry/view.py +++ b/zerver/webhooks/sentry/view.py @@ -8,7 +8,7 @@ from django.http import HttpRequest, HttpResponse from zerver.decorator import webhook_view from zerver.lib.exceptions import UnsupportedWebhookEventTypeError from zerver.lib.response import json_success -from zerver.lib.typed_endpoint import WebhookPayload, typed_endpoint +from zerver.lib.typed_endpoint import JsonBodyPayload, typed_endpoint from zerver.lib.webhooks.common import check_send_webhook_message from zerver.models import UserProfile @@ -272,7 +272,7 @@ def api_sentry_webhook( request: HttpRequest, user_profile: UserProfile, *, - payload: WebhookPayload[Dict[str, Any]], + payload: JsonBodyPayload[Dict[str, Any]], ) -> HttpResponse: data = payload.get("data", None) diff --git a/zerver/webhooks/solano/view.py b/zerver/webhooks/solano/view.py index b534c22098..a7be19e45b 100644 --- a/zerver/webhooks/solano/view.py +++ b/zerver/webhooks/solano/view.py @@ -4,7 +4,7 @@ from django.http import HttpRequest, HttpResponse from zerver.decorator import webhook_view from zerver.lib.response import json_success -from zerver.lib.typed_endpoint import WebhookPayload, typed_endpoint +from zerver.lib.typed_endpoint import JsonBodyPayload, typed_endpoint from zerver.lib.validator import WildValue, check_string from zerver.lib.webhooks.common import check_send_webhook_message from zerver.lib.webhooks.git import get_short_sha @@ -26,7 +26,7 @@ def api_solano_webhook( request: HttpRequest, user_profile: UserProfile, *, - payload: WebhookPayload[WildValue], + payload: JsonBodyPayload[WildValue], ) -> HttpResponse: event = payload["event"].tame(check_string) topic = "build update" diff --git a/zerver/webhooks/sonarqube/view.py b/zerver/webhooks/sonarqube/view.py index f056ec4b9b..3d42bfab8c 100644 --- a/zerver/webhooks/sonarqube/view.py +++ b/zerver/webhooks/sonarqube/view.py @@ -3,7 +3,7 @@ from django.http import HttpRequest, HttpResponse from zerver.decorator import webhook_view from zerver.lib.response import json_success -from zerver.lib.typed_endpoint import WebhookPayload, typed_endpoint +from zerver.lib.typed_endpoint import JsonBodyPayload, typed_endpoint from zerver.lib.validator import WildValue, check_none_or, check_string from zerver.lib.webhooks.common import check_send_webhook_message from zerver.models import UserProfile @@ -114,7 +114,7 @@ def api_sonarqube_webhook( request: HttpRequest, user_profile: UserProfile, *, - payload: WebhookPayload[WildValue], + payload: JsonBodyPayload[WildValue], ) -> HttpResponse: project = payload["project"]["name"].tame(check_string) branch = None diff --git a/zerver/webhooks/sonarr/view.py b/zerver/webhooks/sonarr/view.py index a8b72d7597..c740475397 100644 --- a/zerver/webhooks/sonarr/view.py +++ b/zerver/webhooks/sonarr/view.py @@ -3,7 +3,7 @@ from django.http import HttpRequest, HttpResponse from zerver.decorator import webhook_view from zerver.lib.exceptions import UnsupportedWebhookEventTypeError from zerver.lib.response import json_success -from zerver.lib.typed_endpoint import WebhookPayload, typed_endpoint +from zerver.lib.typed_endpoint import JsonBodyPayload, typed_endpoint from zerver.lib.validator import WildValue, check_bool, check_int, check_string from zerver.lib.webhooks.common import check_send_webhook_message, get_setup_webhook_message from zerver.models import UserProfile @@ -44,7 +44,7 @@ def api_sonarr_webhook( request: HttpRequest, user_profile: UserProfile, *, - payload: WebhookPayload[WildValue], + payload: JsonBodyPayload[WildValue], ) -> HttpResponse: body = get_body_for_http_request(payload) topic = get_topic_for_http_request(payload) diff --git a/zerver/webhooks/splunk/view.py b/zerver/webhooks/splunk/view.py index d8b7622fa0..ba8d9b612f 100644 --- a/zerver/webhooks/splunk/view.py +++ b/zerver/webhooks/splunk/view.py @@ -3,7 +3,7 @@ from django.http import HttpRequest, HttpResponse from zerver.decorator import webhook_view from zerver.lib.response import json_success -from zerver.lib.typed_endpoint import WebhookPayload, typed_endpoint +from zerver.lib.typed_endpoint import JsonBodyPayload, typed_endpoint from zerver.lib.validator import WildValue, check_string from zerver.lib.webhooks.common import check_send_webhook_message from zerver.models import MAX_TOPIC_NAME_LENGTH, UserProfile @@ -23,7 +23,7 @@ def api_splunk_webhook( request: HttpRequest, user_profile: UserProfile, *, - payload: WebhookPayload[WildValue], + payload: JsonBodyPayload[WildValue], ) -> HttpResponse: # use default values if expected data is not provided search_name = payload.get("search_name", "Missing search_name").tame(check_string) diff --git a/zerver/webhooks/statuspage/view.py b/zerver/webhooks/statuspage/view.py index 53b0699faf..617265e836 100644 --- a/zerver/webhooks/statuspage/view.py +++ b/zerver/webhooks/statuspage/view.py @@ -4,7 +4,7 @@ from django.http import HttpRequest, HttpResponse from zerver.decorator import webhook_view from zerver.lib.exceptions import UnsupportedWebhookEventTypeError from zerver.lib.response import json_success -from zerver.lib.typed_endpoint import WebhookPayload, typed_endpoint +from zerver.lib.typed_endpoint import JsonBodyPayload, typed_endpoint from zerver.lib.validator import WildValue, check_string from zerver.lib.webhooks.common import check_send_webhook_message from zerver.models import UserProfile @@ -58,7 +58,7 @@ def api_statuspage_webhook( request: HttpRequest, user_profile: UserProfile, *, - payload: WebhookPayload[WildValue], + payload: JsonBodyPayload[WildValue], ) -> HttpResponse: if "incident" in payload: event = "incident" diff --git a/zerver/webhooks/stripe/view.py b/zerver/webhooks/stripe/view.py index 96a2b8086b..387dbd89cc 100644 --- a/zerver/webhooks/stripe/view.py +++ b/zerver/webhooks/stripe/view.py @@ -8,7 +8,7 @@ from zerver.decorator import webhook_view from zerver.lib.exceptions import UnsupportedWebhookEventTypeError from zerver.lib.response import json_success from zerver.lib.timestamp import timestamp_to_datetime -from zerver.lib.typed_endpoint import WebhookPayload, typed_endpoint +from zerver.lib.typed_endpoint import JsonBodyPayload, typed_endpoint from zerver.lib.validator import WildValue, check_bool, check_int, check_none_or, check_string from zerver.lib.webhooks.common import check_send_webhook_message from zerver.models import UserProfile @@ -52,7 +52,7 @@ def api_stripe_webhook( request: HttpRequest, user_profile: UserProfile, *, - payload: WebhookPayload[WildValue], + payload: JsonBodyPayload[WildValue], stream: str = "test", ) -> HttpResponse: try: diff --git a/zerver/webhooks/taiga/view.py b/zerver/webhooks/taiga/view.py index e9456244e3..d61f01e06d 100644 --- a/zerver/webhooks/taiga/view.py +++ b/zerver/webhooks/taiga/view.py @@ -13,7 +13,7 @@ from typing_extensions import TypeAlias from zerver.decorator import webhook_view from zerver.lib.response import json_success -from zerver.lib.typed_endpoint import WebhookPayload, typed_endpoint +from zerver.lib.typed_endpoint import JsonBodyPayload, typed_endpoint from zerver.lib.validator import WildValue, check_bool, check_none_or, check_string from zerver.lib.webhooks.common import check_send_webhook_message from zerver.models import UserProfile @@ -28,7 +28,7 @@ def api_taiga_webhook( request: HttpRequest, user_profile: UserProfile, *, - message: WebhookPayload[WildValue], + message: JsonBodyPayload[WildValue], ) -> HttpResponse: parsed_events = parse_message(message) content = "".join(sorted(generate_content(event) + "\n" for event in parsed_events)) diff --git a/zerver/webhooks/teamcity/view.py b/zerver/webhooks/teamcity/view.py index f8fd20310c..59f71301d5 100644 --- a/zerver/webhooks/teamcity/view.py +++ b/zerver/webhooks/teamcity/view.py @@ -13,7 +13,7 @@ from zerver.decorator import webhook_view from zerver.lib.request import RequestNotes from zerver.lib.response import json_success from zerver.lib.send_email import FromAddress -from zerver.lib.typed_endpoint import WebhookPayload, typed_endpoint +from zerver.lib.typed_endpoint import JsonBodyPayload, typed_endpoint from zerver.lib.validator import WildValue, check_string from zerver.lib.webhooks.common import check_send_webhook_message from zerver.models import Realm, UserProfile @@ -56,7 +56,7 @@ def api_teamcity_webhook( request: HttpRequest, user_profile: UserProfile, *, - payload: WebhookPayload[WildValue], + payload: JsonBodyPayload[WildValue], ) -> HttpResponse: if "build" not in payload: # Ignore third-party specific (e.g. Slack) payload formats diff --git a/zerver/webhooks/thinkst/view.py b/zerver/webhooks/thinkst/view.py index d1d5e70d4f..e2f3bb4890 100644 --- a/zerver/webhooks/thinkst/view.py +++ b/zerver/webhooks/thinkst/view.py @@ -5,7 +5,7 @@ from django.http import HttpRequest, HttpResponse from zerver.decorator import webhook_view from zerver.lib.response import json_success -from zerver.lib.typed_endpoint import WebhookPayload, typed_endpoint +from zerver.lib.typed_endpoint import JsonBodyPayload, typed_endpoint from zerver.lib.validator import WildValue, check_int, check_string, check_union from zerver.lib.webhooks.common import OptionalUserSpecifiedTopicStr, check_send_webhook_message from zerver.models import UserProfile @@ -112,7 +112,7 @@ def api_thinkst_webhook( request: HttpRequest, user_profile: UserProfile, *, - message: WebhookPayload[WildValue], + message: JsonBodyPayload[WildValue], user_specified_topic: OptionalUserSpecifiedTopicStr = None, ) -> HttpResponse: """ diff --git a/zerver/webhooks/trello/view/__init__.py b/zerver/webhooks/trello/view/__init__.py index b9825788a4..5162c61582 100644 --- a/zerver/webhooks/trello/view/__init__.py +++ b/zerver/webhooks/trello/view/__init__.py @@ -6,7 +6,7 @@ from django.http import HttpRequest, HttpResponse from zerver.decorator import return_success_on_head_request, webhook_view from zerver.lib.exceptions import UnsupportedWebhookEventTypeError from zerver.lib.response import json_success -from zerver.lib.typed_endpoint import WebhookPayload, typed_endpoint +from zerver.lib.typed_endpoint import JsonBodyPayload, typed_endpoint from zerver.lib.validator import WildValue, check_string from zerver.lib.webhooks.common import check_send_webhook_message from zerver.models import UserProfile @@ -22,7 +22,7 @@ def api_trello_webhook( request: HttpRequest, user_profile: UserProfile, *, - payload: WebhookPayload[WildValue], + payload: JsonBodyPayload[WildValue], ) -> HttpResponse: action_type = payload["action"]["type"].tame(check_string) message = get_topic_and_body(payload, action_type) diff --git a/zerver/webhooks/updown/view.py b/zerver/webhooks/updown/view.py index 46764cd633..061f3eb815 100644 --- a/zerver/webhooks/updown/view.py +++ b/zerver/webhooks/updown/view.py @@ -6,7 +6,7 @@ from django.http import HttpRequest, HttpResponse from zerver.decorator import webhook_view from zerver.lib.exceptions import UnsupportedWebhookEventTypeError from zerver.lib.response import json_success -from zerver.lib.typed_endpoint import WebhookPayload, typed_endpoint +from zerver.lib.typed_endpoint import JsonBodyPayload, typed_endpoint from zerver.lib.validator import WildValue, check_int, check_none_or, check_string from zerver.lib.webhooks.common import check_send_webhook_message from zerver.models import UserProfile @@ -80,7 +80,7 @@ def api_updown_webhook( request: HttpRequest, user_profile: UserProfile, *, - payload: WebhookPayload[WildValue], + payload: JsonBodyPayload[WildValue], ) -> HttpResponse: for event in payload: send_message_for_event(request, user_profile, event) diff --git a/zerver/webhooks/uptimerobot/view.py b/zerver/webhooks/uptimerobot/view.py index 2cad809edc..862c2ed862 100644 --- a/zerver/webhooks/uptimerobot/view.py +++ b/zerver/webhooks/uptimerobot/view.py @@ -7,7 +7,7 @@ from zerver.decorator import webhook_view from zerver.lib.exceptions import JsonableError from zerver.lib.response import json_success from zerver.lib.send_email import FromAddress -from zerver.lib.typed_endpoint import WebhookPayload, typed_endpoint +from zerver.lib.typed_endpoint import JsonBodyPayload, typed_endpoint from zerver.lib.validator import WildValue, check_string from zerver.lib.webhooks.common import check_send_webhook_message from zerver.models import UserProfile @@ -37,7 +37,7 @@ def api_uptimerobot_webhook( request: HttpRequest, user_profile: UserProfile, *, - payload: WebhookPayload[WildValue], + payload: JsonBodyPayload[WildValue], ) -> HttpResponse: event_type = payload["alert_type_friendly_name"].tame(check_string) if event_type == "Up": diff --git a/zerver/webhooks/wekan/view.py b/zerver/webhooks/wekan/view.py index e5aa41a3c6..69c64bc205 100644 --- a/zerver/webhooks/wekan/view.py +++ b/zerver/webhooks/wekan/view.py @@ -2,7 +2,7 @@ from django.http import HttpRequest, HttpResponse from zerver.decorator import webhook_view from zerver.lib.response import json_success -from zerver.lib.typed_endpoint import WebhookPayload, typed_endpoint +from zerver.lib.typed_endpoint import JsonBodyPayload, typed_endpoint from zerver.lib.validator import WildValue, check_string from zerver.lib.webhooks.common import check_send_webhook_message from zerver.models import UserProfile @@ -42,7 +42,7 @@ def api_wekan_webhook( request: HttpRequest, user_profile: UserProfile, *, - payload: WebhookPayload[WildValue], + payload: JsonBodyPayload[WildValue], ) -> HttpResponse: topic = "Wekan Notification" body = get_message_body(payload) diff --git a/zerver/webhooks/zabbix/view.py b/zerver/webhooks/zabbix/view.py index 9fd92e4e30..d4c0298432 100644 --- a/zerver/webhooks/zabbix/view.py +++ b/zerver/webhooks/zabbix/view.py @@ -7,7 +7,7 @@ from zerver.decorator import webhook_view from zerver.lib.exceptions import JsonableError from zerver.lib.response import json_success from zerver.lib.send_email import FromAddress -from zerver.lib.typed_endpoint import WebhookPayload, typed_endpoint +from zerver.lib.typed_endpoint import JsonBodyPayload, typed_endpoint from zerver.lib.validator import WildValue, check_string from zerver.lib.webhooks.common import check_send_webhook_message from zerver.models import UserProfile @@ -35,7 +35,7 @@ def api_zabbix_webhook( request: HttpRequest, user_profile: UserProfile, *, - payload: WebhookPayload[WildValue], + payload: JsonBodyPayload[WildValue], ) -> HttpResponse: try: body = get_body_for_http_request(payload) diff --git a/zerver/webhooks/zapier/view.py b/zerver/webhooks/zapier/view.py index 6863a6fa51..a961b3fe50 100644 --- a/zerver/webhooks/zapier/view.py +++ b/zerver/webhooks/zapier/view.py @@ -4,7 +4,7 @@ from django.utils.translation import gettext as _ from zerver.decorator import webhook_view from zerver.lib.exceptions import JsonableError from zerver.lib.response import json_success -from zerver.lib.typed_endpoint import WebhookPayload, typed_endpoint +from zerver.lib.typed_endpoint import JsonBodyPayload, typed_endpoint from zerver.lib.validator import WildValue, check_none_or, check_string from zerver.lib.webhooks.common import check_send_webhook_message from zerver.models import UserProfile @@ -16,7 +16,7 @@ def api_zapier_webhook( request: HttpRequest, user_profile: UserProfile, *, - payload: WebhookPayload[WildValue], + payload: JsonBodyPayload[WildValue], ) -> HttpResponse: if payload.get("type").tame(check_none_or(check_string)) == "auth": # The bot's details are used by our Zapier app to format a connection