diff options
author | Mark Haines <mark.haines@matrix.org> | 2016-05-17 11:46:34 +0100 |
---|---|---|
committer | Mark Haines <mark.haines@matrix.org> | 2016-05-17 11:46:34 +0100 |
commit | f19992cae5b72efeabebcf6fe8f3116b300bc818 (patch) | |
tree | 997e7d49d4619686f7086a5b19a4c8cdc3f9ba57 | |
parent | Fix client resource prefixes (diff) | |
download | synapse-f19992cae5b72efeabebcf6fe8f3116b300bc818.tar.xz |
Add a SlavedApplicationServiceStore
-rw-r--r-- | synapse/app/synchrotron.py | 2 | ||||
-rw-r--r-- | synapse/replication/slave/storage/appservice.py | 29 |
2 files changed, 31 insertions, 0 deletions
diff --git a/synapse/app/synchrotron.py b/synapse/app/synchrotron.py index 97f6001045..ffd21de99b 100644 --- a/synapse/app/synchrotron.py +++ b/synapse/app/synchrotron.py @@ -26,6 +26,7 @@ from synapse.rest.client.v2_alpha import sync from synapse.replication.slave.storage.events import SlavedEventStore from synapse.replication.slave.storage.receipts import SlavedReceiptsStore from synapse.replication.slave.storage.account_data import SlavedAccountDataStore +from synapse.replication.slave.storage.appservice import SlavedApplicationServiceStore from synapse.server import HomeServer from synapse.storage.engines import create_engine from synapse.util.httpresourcetree import create_resource_tree @@ -93,6 +94,7 @@ class SynchrotronSlavedStore( SlavedEventStore, SlavedReceiptsStore, SlavedAccountDataStore, + SlavedApplicationServiceStore, ): pass diff --git a/synapse/replication/slave/storage/appservice.py b/synapse/replication/slave/storage/appservice.py new file mode 100644 index 0000000000..c0321ecf34 --- /dev/null +++ b/synapse/replication/slave/storage/appservice.py @@ -0,0 +1,29 @@ +# -*- coding: utf-8 -*- +# Copyright 2015, 2016 OpenMarket Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from ._base import BaseSlavedStore +from synapse.storage import DataStore +from synapse.config.appservice import load_appservices + + +class SlavedApplicationServiceStore(BaseSlavedStore): + def __init__(self, db_conn, hs): + super(SlavedApplicationServiceStore, self).__init__(db_conn, hs) + self.services_cache = load_appservices( + hs.config.server_name, + hs.config.app_service_config_files + ) + + get_app_service_by_token = DataStore.get_app_service_by_token.__func__ |