mirror of
https://github.com/zulip/zulip.git
synced 2025-11-04 14:03:30 +00:00
Clean PUT /users/me/pointer to POST /users/me/pointer.
This commit is contained in:
@@ -18,7 +18,7 @@ var pointer_update_in_flight = false;
|
|||||||
function update_pointer() {
|
function update_pointer() {
|
||||||
if (!pointer_update_in_flight) {
|
if (!pointer_update_in_flight) {
|
||||||
pointer_update_in_flight = true;
|
pointer_update_in_flight = true;
|
||||||
return channel.put({
|
return channel.post({
|
||||||
url: '/json/users/me/pointer',
|
url: '/json/users/me/pointer',
|
||||||
idempotent: true,
|
idempotent: true,
|
||||||
data: {pointer: pointer.furthest_read},
|
data: {pointer: pointer.furthest_read},
|
||||||
|
|||||||
@@ -103,6 +103,7 @@ class PublicURLTest(ZulipTestCase):
|
|||||||
"/json/subscriptions/exists",
|
"/json/subscriptions/exists",
|
||||||
"/json/subscriptions/property",
|
"/json/subscriptions/property",
|
||||||
"/json/fetch_api_key",
|
"/json/fetch_api_key",
|
||||||
|
"/json/users/me/pointer",
|
||||||
"/json/users/me/subscriptions",
|
"/json/users/me/subscriptions",
|
||||||
"/api/v1/users/me/subscriptions",
|
"/api/v1/users/me/subscriptions",
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ class PointerTest(ZulipTestCase):
|
|||||||
self.login("hamlet@zulip.com")
|
self.login("hamlet@zulip.com")
|
||||||
self.assertEqual(get_user_profile_by_email("hamlet@zulip.com").pointer, -1)
|
self.assertEqual(get_user_profile_by_email("hamlet@zulip.com").pointer, -1)
|
||||||
msg_id = self.send_message("othello@zulip.com", "Verona", Recipient.STREAM)
|
msg_id = self.send_message("othello@zulip.com", "Verona", Recipient.STREAM)
|
||||||
result = self.client_put("/json/users/me/pointer", {"pointer": msg_id})
|
result = self.client_post("/json/users/me/pointer", {"pointer": msg_id})
|
||||||
self.assert_json_success(result)
|
self.assert_json_success(result)
|
||||||
self.assertEqual(get_user_profile_by_email("hamlet@zulip.com").pointer, msg_id)
|
self.assertEqual(get_user_profile_by_email("hamlet@zulip.com").pointer, msg_id)
|
||||||
|
|
||||||
@@ -36,8 +36,8 @@ class PointerTest(ZulipTestCase):
|
|||||||
email = "hamlet@zulip.com"
|
email = "hamlet@zulip.com"
|
||||||
self.assertEqual(get_user_profile_by_email(email).pointer, -1)
|
self.assertEqual(get_user_profile_by_email(email).pointer, -1)
|
||||||
msg_id = self.send_message("othello@zulip.com", "Verona", Recipient.STREAM)
|
msg_id = self.send_message("othello@zulip.com", "Verona", Recipient.STREAM)
|
||||||
result = self.client_put("/api/v1/users/me/pointer", {"pointer": msg_id},
|
result = self.client_post("/api/v1/users/me/pointer", {"pointer": msg_id},
|
||||||
**self.api_auth(email))
|
**self.api_auth(email))
|
||||||
self.assert_json_success(result)
|
self.assert_json_success(result)
|
||||||
self.assertEqual(get_user_profile_by_email(email).pointer, msg_id)
|
self.assertEqual(get_user_profile_by_email(email).pointer, msg_id)
|
||||||
|
|
||||||
@@ -49,7 +49,7 @@ class PointerTest(ZulipTestCase):
|
|||||||
"""
|
"""
|
||||||
self.login("hamlet@zulip.com")
|
self.login("hamlet@zulip.com")
|
||||||
self.assertEqual(get_user_profile_by_email("hamlet@zulip.com").pointer, -1)
|
self.assertEqual(get_user_profile_by_email("hamlet@zulip.com").pointer, -1)
|
||||||
result = self.client_put("/json/users/me/pointer", {"foo": 1})
|
result = self.client_post("/json/users/me/pointer", {"foo": 1})
|
||||||
self.assert_json_error(result, "Missing 'pointer' argument")
|
self.assert_json_error(result, "Missing 'pointer' argument")
|
||||||
self.assertEqual(get_user_profile_by_email("hamlet@zulip.com").pointer, -1)
|
self.assertEqual(get_user_profile_by_email("hamlet@zulip.com").pointer, -1)
|
||||||
|
|
||||||
@@ -61,7 +61,7 @@ class PointerTest(ZulipTestCase):
|
|||||||
"""
|
"""
|
||||||
self.login("hamlet@zulip.com")
|
self.login("hamlet@zulip.com")
|
||||||
self.assertEqual(get_user_profile_by_email("hamlet@zulip.com").pointer, -1)
|
self.assertEqual(get_user_profile_by_email("hamlet@zulip.com").pointer, -1)
|
||||||
result = self.client_put("/json/users/me/pointer", {"pointer": "foo"})
|
result = self.client_post("/json/users/me/pointer", {"pointer": "foo"})
|
||||||
self.assert_json_error(result, "Bad value for 'pointer': foo")
|
self.assert_json_error(result, "Bad value for 'pointer': foo")
|
||||||
self.assertEqual(get_user_profile_by_email("hamlet@zulip.com").pointer, -1)
|
self.assertEqual(get_user_profile_by_email("hamlet@zulip.com").pointer, -1)
|
||||||
|
|
||||||
@@ -73,7 +73,7 @@ class PointerTest(ZulipTestCase):
|
|||||||
"""
|
"""
|
||||||
self.login("hamlet@zulip.com")
|
self.login("hamlet@zulip.com")
|
||||||
self.assertEqual(get_user_profile_by_email("hamlet@zulip.com").pointer, -1)
|
self.assertEqual(get_user_profile_by_email("hamlet@zulip.com").pointer, -1)
|
||||||
result = self.client_put("/json/users/me/pointer", {"pointer": -2})
|
result = self.client_post("/json/users/me/pointer", {"pointer": -2})
|
||||||
self.assert_json_error(result, "Bad value for 'pointer': -2")
|
self.assert_json_error(result, "Bad value for 'pointer': -2")
|
||||||
self.assertEqual(get_user_profile_by_email("hamlet@zulip.com").pointer, -1)
|
self.assertEqual(get_user_profile_by_email("hamlet@zulip.com").pointer, -1)
|
||||||
|
|
||||||
|
|||||||
@@ -1726,7 +1726,7 @@ class GetProfileTest(ZulipTestCase):
|
|||||||
def common_update_pointer(self, email, pointer):
|
def common_update_pointer(self, email, pointer):
|
||||||
# type: (Text, int) -> None
|
# type: (Text, int) -> None
|
||||||
self.login(email)
|
self.login(email)
|
||||||
result = self.client_put("/json/users/me/pointer", {"pointer": pointer})
|
result = self.client_post("/json/users/me/pointer", {"pointer": pointer})
|
||||||
self.assert_json_success(result)
|
self.assert_json_success(result)
|
||||||
|
|
||||||
def common_get_profile(self, email):
|
def common_get_profile(self, email):
|
||||||
@@ -1812,7 +1812,7 @@ class GetProfileTest(ZulipTestCase):
|
|||||||
json = self.common_get_profile("hamlet@zulip.com")
|
json = self.common_get_profile("hamlet@zulip.com")
|
||||||
self.assertEqual(json["pointer"], id2) # pointer does not move backwards
|
self.assertEqual(json["pointer"], id2) # pointer does not move backwards
|
||||||
|
|
||||||
result = self.client_put("/json/users/me/pointer", {"pointer": 99999999})
|
result = self.client_post("/json/users/me/pointer", {"pointer": 99999999})
|
||||||
self.assert_json_error(result, "Invalid message ID")
|
self.assert_json_error(result, "Invalid message ID")
|
||||||
|
|
||||||
def test_get_all_profiles_avatar_urls(self):
|
def test_get_all_profiles_avatar_urls(self):
|
||||||
|
|||||||
@@ -225,9 +225,12 @@ v1_api_and_json_patterns = [
|
|||||||
url(r'^users/me$', rest_dispatch,
|
url(r'^users/me$', rest_dispatch,
|
||||||
{'GET': 'zerver.views.users.get_profile_backend',
|
{'GET': 'zerver.views.users.get_profile_backend',
|
||||||
'DELETE': 'zerver.views.users.deactivate_user_own_backend'}),
|
'DELETE': 'zerver.views.users.deactivate_user_own_backend'}),
|
||||||
|
# PUT is currently used by mobile apps, we intend to remove the PUT version
|
||||||
|
# as soon as possible. POST exists to correct the erroneous use of PUT.
|
||||||
url(r'^users/me/pointer$', rest_dispatch,
|
url(r'^users/me/pointer$', rest_dispatch,
|
||||||
{'GET': 'zerver.views.pointer.get_pointer_backend',
|
{'GET': 'zerver.views.pointer.get_pointer_backend',
|
||||||
'PUT': 'zerver.views.pointer.update_pointer_backend'}),
|
'PUT': 'zerver.views.pointer.update_pointer_backend',
|
||||||
|
'POST': 'zerver.views.pointer.update_pointer_backend'}),
|
||||||
url(r'^users/me/presence$', rest_dispatch,
|
url(r'^users/me/presence$', rest_dispatch,
|
||||||
{'POST': 'zerver.views.presence.update_active_status_backend'}),
|
{'POST': 'zerver.views.presence.update_active_status_backend'}),
|
||||||
# Endpoint used by mobile devices to register their push
|
# Endpoint used by mobile devices to register their push
|
||||||
|
|||||||
Reference in New Issue
Block a user