webhooks: Migrate webhooks with str parameters to use @typed_endpoint.

These webhooks have some URL query params that do not need additional
validation or parsing from JSON. So WebhookPaylaod is not applicable to
these webhooks.
This commit is contained in:
Zixuan James Li
2023-08-12 03:35:14 -04:00
committed by Tim Abbott
parent 9377080f1f
commit 1329284848
3 changed files with 27 additions and 23 deletions

View File

@@ -2,8 +2,8 @@
from django.http import HttpRequest, HttpResponse
from zerver.decorator import webhook_view
from zerver.lib.request import REQ, has_request_variables
from zerver.lib.response import json_success
from zerver.lib.typed_endpoint import typed_endpoint
from zerver.lib.webhooks.common import check_send_webhook_message
from zerver.models import UserProfile
@@ -17,15 +17,16 @@ TEMPLATE = """
@webhook_view("Heroku", notify_bot_owner_on_invalid_json=False)
@has_request_variables
@typed_endpoint
def api_heroku_webhook(
request: HttpRequest,
user_profile: UserProfile,
head: str = REQ(),
app: str = REQ(),
user: str = REQ(),
url: str = REQ(),
git_log: str = REQ(),
*,
head: str,
app: str,
user: str,
url: str,
git_log: str,
) -> HttpResponse:
content = TEMPLATE.format(user=user, head=head, app=app, url=url, git_log=git_log)