diff options
author | Tulir Asokan <tulir@maunium.net> | 2018-03-21 20:01:52 +0200 |
---|---|---|
committer | Tulir Asokan <tulir@maunium.net> | 2018-03-21 20:01:52 +0200 |
commit | b4902d4edb27baf59b21747117d93db4e0e4e96c (patch) | |
tree | 5779f4e1e2aad23e46e1b57a84b1cee2b311ab3c /matrix/ext | |
parent | efbce4c363b743817b4a368d6011c7aac9b8b176 (diff) |
Clear push rules when clearing cache and listen to push rule updates
Diffstat (limited to 'matrix/ext')
-rw-r--r-- | matrix/ext/pushrules.go | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/matrix/ext/pushrules.go b/matrix/ext/pushrules.go index c156873..ccccbb0 100644 --- a/matrix/ext/pushrules.go +++ b/matrix/ext/pushrules.go @@ -26,6 +26,22 @@ func GetScopedPushRules(client *gomatrix.Client, scope string) (resp *PushRulese return } +func EventToPushRules(event *gomatrix.Event) (*PushRuleset, error) { + content, _ := event.Content["global"] + raw, err := json.Marshal(content) + if err != nil { + return nil, err + } + + ruleset := &PushRuleset{} + err = json.Unmarshal(raw, ruleset) + if err != nil { + return nil, err + } + + return ruleset, nil +} + type PushRuleset struct { Override PushRuleArray Content PushRuleArray |