from typing import Any from django.conf.urls import include from django.urls import path from zerver.lib.rest import rest_path from zilencer.views import ( register_remote_push_device, register_remote_server, remote_server_check_analytics, remote_server_notify_push, remote_server_post_analytics, unregister_all_remote_push_devices, unregister_remote_push_device, ) i18n_urlpatterns: Any = [] # Zilencer views following the REST API style v1_api_and_json_patterns = [ rest_path("remotes/push/register", POST=register_remote_push_device), rest_path("remotes/push/unregister", POST=unregister_remote_push_device), rest_path("remotes/push/unregister/all", POST=unregister_all_remote_push_devices), rest_path("remotes/push/notify", POST=remote_server_notify_push), # Push signup doesn't use the REST API, since there's no auth. path("remotes/server/register", register_remote_server), # For receiving table data used in analytics and billing rest_path("remotes/server/analytics", POST=remote_server_post_analytics), rest_path("remotes/server/analytics/status", GET=remote_server_check_analytics), ] urlpatterns = [ path("api/v1/", include(v1_api_and_json_patterns)), path("json/", include(v1_api_and_json_patterns)), ]