From b4902d4edb27baf59b21747117d93db4e0e4e96c Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Wed, 21 Mar 2018 20:01:52 +0200 Subject: Clear push rules when clearing cache and listen to push rule updates --- matrix/ext/pushrules.go | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'matrix/ext/pushrules.go') 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 -- cgit v1.2.3