mirror of
https://git.anonymousland.org/anonymousland/synapse.git
synced 2025-08-02 03:46:10 -04:00
Merge pull request #1164 from pik/error-codes
Clarify Error codes for GET /filter/
This commit is contained in:
commit
78c083f159
4 changed files with 98 additions and 52 deletions
|
@ -15,7 +15,7 @@
|
|||
|
||||
from twisted.internet import defer
|
||||
|
||||
from synapse.api.errors import AuthError, SynapseError
|
||||
from synapse.api.errors import AuthError, SynapseError, StoreError, Codes
|
||||
from synapse.http.servlet import RestServlet, parse_json_object_from_request
|
||||
from synapse.types import UserID
|
||||
|
||||
|
@ -45,7 +45,7 @@ class GetFilterRestServlet(RestServlet):
|
|||
raise AuthError(403, "Cannot get filters for other users")
|
||||
|
||||
if not self.hs.is_mine(target_user):
|
||||
raise SynapseError(400, "Can only get filters for local users")
|
||||
raise AuthError(403, "Can only get filters for local users")
|
||||
|
||||
try:
|
||||
filter_id = int(filter_id)
|
||||
|
@ -59,8 +59,8 @@ class GetFilterRestServlet(RestServlet):
|
|||
)
|
||||
|
||||
defer.returnValue((200, filter.get_filter_json()))
|
||||
except KeyError:
|
||||
raise SynapseError(400, "No such filter")
|
||||
except (KeyError, StoreError):
|
||||
raise SynapseError(400, "No such filter", errcode=Codes.NOT_FOUND)
|
||||
|
||||
|
||||
class CreateFilterRestServlet(RestServlet):
|
||||
|
@ -74,6 +74,7 @@ class CreateFilterRestServlet(RestServlet):
|
|||
|
||||
@defer.inlineCallbacks
|
||||
def on_POST(self, request, user_id):
|
||||
|
||||
target_user = UserID.from_string(user_id)
|
||||
requester = yield self.auth.get_user_by_req(request)
|
||||
|
||||
|
@ -81,10 +82,9 @@ class CreateFilterRestServlet(RestServlet):
|
|||
raise AuthError(403, "Cannot create filters for other users")
|
||||
|
||||
if not self.hs.is_mine(target_user):
|
||||
raise SynapseError(400, "Can only create filters for local users")
|
||||
raise AuthError(403, "Can only create filters for local users")
|
||||
|
||||
content = parse_json_object_from_request(request)
|
||||
|
||||
filter_id = yield self.filtering.add_user_filter(
|
||||
user_localpart=target_user.localpart,
|
||||
user_filter=content,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue