aboutsummaryrefslogtreecommitdiff
path: root/matrix/pushrules/pushrules.go
diff options
context:
space:
mode:
Diffstat (limited to 'matrix/pushrules/pushrules.go')
-rw-r--r--matrix/pushrules/pushrules.go16
1 files changed, 7 insertions, 9 deletions
diff --git a/matrix/pushrules/pushrules.go b/matrix/pushrules/pushrules.go
index 876713b..b383c66 100644
--- a/matrix/pushrules/pushrules.go
+++ b/matrix/pushrules/pushrules.go
@@ -21,19 +21,17 @@ func GetScopedPushRules(client *gomatrix.Client, scope string) (resp *PushRulese
return
}
+type contentWithRuleset struct {
+ Ruleset *PushRuleset `json:"global"`
+}
+
// EventToPushRules converts a m.push_rules event to a PushRuleset by passing the data through JSON.
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)
+ content := &contentWithRuleset{}
+ err := json.Unmarshal(event.Content.VeryRaw, content)
if err != nil {
return nil, err
}
- return ruleset, nil
+ return content.Ruleset, nil
}