mirror of
https://git.anonymousland.org/anonymousland/synapse.git
synced 2025-08-01 17:56:04 -04:00
Add enable/disable overlay for push rules (REST API not yet hooked up)
This commit is contained in:
parent
a025055643
commit
94fa334b01
5 changed files with 46 additions and 0 deletions
|
@ -45,6 +45,17 @@ class PushRuleStore(SQLBaseStore):
|
|||
|
||||
defer.returnValue(dicts)
|
||||
|
||||
@defer.inlineCallbacks
|
||||
def get_push_rules_enabled_for_user_name(self, user_name):
|
||||
results = yield self._simple_select_list(
|
||||
PushRuleEnableTable.table_name,
|
||||
{'user_name': user_name},
|
||||
PushRuleEnableTable.fields
|
||||
)
|
||||
defer.returnValue(
|
||||
{r['rule_id']: False if r['enabled'] == 0 else True for r in results}
|
||||
)
|
||||
|
||||
@defer.inlineCallbacks
|
||||
def add_push_rule(self, before, after, **kwargs):
|
||||
vals = copy.copy(kwargs)
|
||||
|
@ -216,3 +227,12 @@ class PushRuleTable(Table):
|
|||
]
|
||||
|
||||
EntryType = collections.namedtuple("PushRuleEntry", fields)
|
||||
|
||||
class PushRuleEnableTable(Table):
|
||||
table_name = "push_rules_enable"
|
||||
|
||||
fields = [
|
||||
"user_name",
|
||||
"rule_id",
|
||||
"enabled"
|
||||
]
|
9
synapse/storage/schema/delta/next_pushrules2.sql
Normal file
9
synapse/storage/schema/delta/next_pushrules2.sql
Normal file
|
@ -0,0 +1,9 @@
|
|||
CREATE TABLE IF NOT EXISTS push_rules_enable (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
user_name TEXT NOT NULL,
|
||||
rule_id TEXT NOT NULL,
|
||||
enabled TINYINT,
|
||||
UNIQUE(user_name, rule_id)
|
||||
);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS push_rules_enable_user_name on push_rules_enable (user_name);
|
|
@ -44,3 +44,13 @@ CREATE TABLE IF NOT EXISTS push_rules (
|
|||
);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS push_rules_user_name on push_rules (user_name);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS push_rules_enable (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
user_name TEXT NOT NULL,
|
||||
rule_id TEXT NOT NULL,
|
||||
enabled TINYINT,
|
||||
UNIQUE(user_name, rule_id)
|
||||
);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS push_rules_enable_user_name on push_rules_enable (user_name);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue