diff options
author | Paul "LeoNerd" Evans <paul@matrix.org> | 2015-01-27 17:48:13 +0000 |
---|---|---|
committer | Paul "LeoNerd" Evans <paul@matrix.org> | 2015-01-27 17:48:13 +0000 |
commit | 54e513b4e6b5c644b9a2aeb02cef8258e87ae26a (patch) | |
tree | 2017cda9f2180bbf97eae8eae45e29b28107a9cb /synapse/api | |
parent | Have the Filtering API return Deferreds, so we can do the Datastore implement... (diff) | |
download | synapse-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.py | 27 |
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 |