summary refs log tree commit diff
path: root/synapse/api
diff options
context:
space:
mode:
authorPaul "LeoNerd" Evans <paul@matrix.org>2015-01-27 17:48:13 +0000
committerPaul "LeoNerd" Evans <paul@matrix.org>2015-01-27 17:48:13 +0000
commit54e513b4e6b5c644b9a2aeb02cef8258e87ae26a (patch)
tree2017cda9f2180bbf97eae8eae45e29b28107a9cb /synapse/api
parentHave the Filtering API return Deferreds, so we can do the Datastore implement... (diff)
downloadsynapse-54e513b4e6b5c644b9a2aeb02cef8258e87ae26a.tar.xz
Move storage of user filters into real datastore layer; now have to mock it out in the REST-level tests
Diffstat (limited to 'synapse/api')
-rw-r--r--synapse/api/filtering.py27
1 files changed, 4 insertions, 23 deletions
diff --git a/synapse/api/filtering.py b/synapse/api/filtering.py

index 014e2e1fc9..20b6951d47 100644 --- a/synapse/api/filtering.py +++ b/synapse/api/filtering.py
@@ -16,37 +16,18 @@ from twisted.internet import defer -# TODO(paul) -_filters_for_user = {} - - class Filtering(object): def __init__(self, hs): super(Filtering, self).__init__() - self.hs = hs + self.store = hs.get_datastore() - @defer.inlineCallbacks def get_user_filter(self, user_localpart, filter_id): - filters = _filters_for_user.get(user_localpart, None) - - if not filters or filter_id >= len(filters): - raise KeyError() + return self.store.get_user_filter(user_localpart, filter_id) - # trivial yield to make it a generator so d.iC works - yield - defer.returnValue(filters[filter_id]) - - @defer.inlineCallbacks def add_user_filter(self, user_localpart, definition): - filters = _filters_for_user.setdefault(user_localpart, []) - - filter_id = len(filters) - filters.append(definition) - - # trivial yield, see above - yield - defer.returnValue(filter_id) + # TODO(paul): implement sanity checking of the definition + return self.store.add_user_filter(user_localpart, definition) # TODO(paul): surely we should probably add a delete_user_filter or # replace_user_filter at some point? There's no REST API specified for