summary refs log tree commit diff
path: root/synapse/rest/client
diff options
context:
space:
mode:
authorMark Haines <mark.haines@matrix.org>2015-05-26 10:14:15 +0100
committerMark Haines <mark.haines@matrix.org>2015-05-26 10:14:15 +0100
commita0bebeda8b5fa4130cc634b5bd9d0b1bd454713e (patch)
tree870a3c79096dd0f83df5a1320b79f1b2cfa8c38c /synapse/rest/client
parentChangelog (diff)
downloadsynapse-a0bebeda8b5fa4130cc634b5bd9d0b1bd454713e.tar.xz
SYN-390: Don't modify the dictionary returned from the data store
Diffstat (limited to 'synapse/rest/client')
-rw-r--r--synapse/rest/client/v1/push_rule.py13
1 files changed, 8 insertions, 5 deletions
diff --git a/synapse/rest/client/v1/push_rule.py b/synapse/rest/client/v1/push_rule.py

index d4e7ab2202..bd759a2589 100644 --- a/synapse/rest/client/v1/push_rule.py +++ b/synapse/rest/client/v1/push_rule.py
@@ -118,11 +118,14 @@ class PushRuleRestServlet(ClientV1RestServlet): user.to_string() ) - for r in rawrules: - r["conditions"] = json.loads(r["conditions"]) - r["actions"] = json.loads(r["actions"]) - - ruleslist = baserules.list_with_base_rules(rawrules, user) + ruleslist = [] + for rawrule in rawrules: + rule = dict(rawrule) + rule["conditions"] = json.loads(rawrule["conditions"]) + rule["actions"] = json.loads(rawrule["actions"]) + ruleslist.append(rule) + + ruleslist = baserules.list_with_base_rules(ruleslist, user) rules = {'global': {}, 'device': {}}