mirror of
https://git.anonymousland.org/anonymousland/synapse.git
synced 2025-05-03 02:54:52 -04:00
Port rest/v1 to async/await
This commit is contained in:
parent
63d6ad1064
commit
1a0997bbd5
11 changed files with 118 additions and 167 deletions
|
@ -13,7 +13,6 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
from twisted.internet import defer
|
||||
|
||||
from synapse.api.errors import (
|
||||
NotFoundError,
|
||||
|
@ -46,8 +45,7 @@ class PushRuleRestServlet(RestServlet):
|
|||
self.notifier = hs.get_notifier()
|
||||
self._is_worker = hs.config.worker_app is not None
|
||||
|
||||
@defer.inlineCallbacks
|
||||
def on_PUT(self, request, path):
|
||||
async def on_PUT(self, request, path):
|
||||
if self._is_worker:
|
||||
raise Exception("Cannot handle PUT /push_rules on worker")
|
||||
|
||||
|
@ -57,7 +55,7 @@ class PushRuleRestServlet(RestServlet):
|
|||
except InvalidRuleException as e:
|
||||
raise SynapseError(400, str(e))
|
||||
|
||||
requester = yield self.auth.get_user_by_req(request)
|
||||
requester = await self.auth.get_user_by_req(request)
|
||||
|
||||
if "/" in spec["rule_id"] or "\\" in spec["rule_id"]:
|
||||
raise SynapseError(400, "rule_id may not contain slashes")
|
||||
|
@ -67,7 +65,7 @@ class PushRuleRestServlet(RestServlet):
|
|||
user_id = requester.user.to_string()
|
||||
|
||||
if "attr" in spec:
|
||||
yield self.set_rule_attr(user_id, spec, content)
|
||||
await self.set_rule_attr(user_id, spec, content)
|
||||
self.notify_user(user_id)
|
||||
return 200, {}
|
||||
|
||||
|
@ -91,7 +89,7 @@ class PushRuleRestServlet(RestServlet):
|
|||
after = _namespaced_rule_id(spec, after)
|
||||
|
||||
try:
|
||||
yield self.store.add_push_rule(
|
||||
await self.store.add_push_rule(
|
||||
user_id=user_id,
|
||||
rule_id=_namespaced_rule_id_from_spec(spec),
|
||||
priority_class=priority_class,
|
||||
|
@ -108,20 +106,19 @@ class PushRuleRestServlet(RestServlet):
|
|||
|
||||
return 200, {}
|
||||
|
||||
@defer.inlineCallbacks
|
||||
def on_DELETE(self, request, path):
|
||||
async def on_DELETE(self, request, path):
|
||||
if self._is_worker:
|
||||
raise Exception("Cannot handle DELETE /push_rules on worker")
|
||||
|
||||
spec = _rule_spec_from_path([x for x in path.split("/")])
|
||||
|
||||
requester = yield self.auth.get_user_by_req(request)
|
||||
requester = await self.auth.get_user_by_req(request)
|
||||
user_id = requester.user.to_string()
|
||||
|
||||
namespaced_rule_id = _namespaced_rule_id_from_spec(spec)
|
||||
|
||||
try:
|
||||
yield self.store.delete_push_rule(user_id, namespaced_rule_id)
|
||||
await self.store.delete_push_rule(user_id, namespaced_rule_id)
|
||||
self.notify_user(user_id)
|
||||
return 200, {}
|
||||
except StoreError as e:
|
||||
|
@ -130,15 +127,14 @@ class PushRuleRestServlet(RestServlet):
|
|||
else:
|
||||
raise
|
||||
|
||||
@defer.inlineCallbacks
|
||||
def on_GET(self, request, path):
|
||||
requester = yield self.auth.get_user_by_req(request)
|
||||
async def on_GET(self, request, path):
|
||||
requester = await self.auth.get_user_by_req(request)
|
||||
user_id = requester.user.to_string()
|
||||
|
||||
# we build up the full structure and then decide which bits of it
|
||||
# to send which means doing unnecessary work sometimes but is
|
||||
# is probably not going to make a whole lot of difference
|
||||
rules = yield self.store.get_push_rules_for_user(user_id)
|
||||
rules = await self.store.get_push_rules_for_user(user_id)
|
||||
|
||||
rules = format_push_rules_for_user(requester.user, rules)
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue