mirror of
https://github.com/zulip/zulip.git
synced 2025-11-04 14:03:30 +00:00
decorators: Use human_users_only more aggressively.
This commit is contained in:
@@ -1023,10 +1023,16 @@ class TestHumanUsersOnlyDecorator(ZulipTestCase):
|
||||
def test_human_only_endpoints(self):
|
||||
# type: () -> None
|
||||
post_endpoints = [
|
||||
"/api/v1/users/me/presence",
|
||||
"/api/v1/users/me/apns_device_token",
|
||||
"/api/v1/users/me/android_gcm_reg_id",
|
||||
"/api/v1/users/me/enter-sends",
|
||||
"/api/v1/users/me/hotspots",
|
||||
"/api/v1/users/me/presence",
|
||||
"/api/v1/users/me/tutorial_status",
|
||||
"/api/v1/report/error",
|
||||
"/api/v1/report/send_times",
|
||||
"/api/v1/report/narrow_times",
|
||||
"/api/v1/report/unnarrow_times",
|
||||
]
|
||||
for endpoint in post_endpoints:
|
||||
result = self.client_post(endpoint, **self.api_auth('default-bot@zulip.com'))
|
||||
|
||||
@@ -5,7 +5,8 @@ from typing import Any, Dict, Optional, Text
|
||||
from django.conf import settings
|
||||
from django.http import HttpRequest, HttpResponse
|
||||
|
||||
from zerver.decorator import authenticated_json_post_view, to_non_negative_int
|
||||
from zerver.decorator import authenticated_json_post_view, human_users_only, \
|
||||
to_non_negative_int
|
||||
from zerver.lib.bugdown import privacy_clean_markdown
|
||||
from zerver.lib.request import has_request_variables, REQ
|
||||
from zerver.lib.response import json_success
|
||||
@@ -30,6 +31,7 @@ def get_js_source_map() -> Optional[SourceMap]:
|
||||
])
|
||||
return js_source_map
|
||||
|
||||
@human_users_only
|
||||
@has_request_variables
|
||||
def report_send_times(request, user_profile,
|
||||
time=REQ(converter=to_non_negative_int),
|
||||
@@ -52,6 +54,7 @@ def report_send_times(request, user_profile,
|
||||
statsd.incr('render_disparity')
|
||||
return json_success()
|
||||
|
||||
@human_users_only
|
||||
@has_request_variables
|
||||
def report_narrow_times(request, user_profile,
|
||||
initial_core=REQ(converter=to_non_negative_int),
|
||||
@@ -65,6 +68,7 @@ def report_narrow_times(request, user_profile,
|
||||
statsd.timing("narrow.network.%s" % (base_key,), network)
|
||||
return json_success()
|
||||
|
||||
@human_users_only
|
||||
@has_request_variables
|
||||
def report_unnarrow_times(request, user_profile,
|
||||
initial_core=REQ(converter=to_non_negative_int),
|
||||
@@ -76,6 +80,7 @@ def report_unnarrow_times(request, user_profile,
|
||||
statsd.timing("unnarrow.initial_free.%s" % (base_key,), initial_free)
|
||||
return json_success()
|
||||
|
||||
@human_users_only
|
||||
@has_request_variables
|
||||
def report_error(request, user_profile, message=REQ(), stacktrace=REQ(),
|
||||
ui_message=REQ(validator=check_bool), user_agent=REQ(),
|
||||
|
||||
@@ -1,11 +1,13 @@
|
||||
|
||||
from django.http import HttpRequest, HttpResponse
|
||||
|
||||
from zerver.decorator import human_users_only
|
||||
from zerver.lib.request import has_request_variables, REQ
|
||||
from zerver.lib.response import json_success
|
||||
from zerver.lib.validator import check_string
|
||||
from zerver.models import UserProfile
|
||||
|
||||
@human_users_only
|
||||
@has_request_variables
|
||||
def set_tutorial_status(request, user_profile,
|
||||
status=REQ(validator=check_string)):
|
||||
|
||||
@@ -236,6 +236,8 @@ def delete_avatar_backend(request, user_profile):
|
||||
)
|
||||
return json_success(json_result)
|
||||
|
||||
# We don't use @human_users_only here, because there are use cases for
|
||||
# a bot regenerating its own API key.
|
||||
@has_request_variables
|
||||
def regenerate_api_key(request, user_profile):
|
||||
# type: (HttpRequest, UserProfile) -> HttpResponse
|
||||
@@ -245,6 +247,7 @@ def regenerate_api_key(request, user_profile):
|
||||
)
|
||||
return json_success(json_result)
|
||||
|
||||
@human_users_only
|
||||
@has_request_variables
|
||||
def change_enter_sends(request, user_profile,
|
||||
enter_sends=REQ(validator=check_bool)):
|
||||
|
||||
Reference in New Issue
Block a user