diff options
Diffstat (limited to 'matrix/pushrules/pushrules.go')
-rw-r--r-- | matrix/pushrules/pushrules.go | 37 |
1 files changed, 0 insertions, 37 deletions
diff --git a/matrix/pushrules/pushrules.go b/matrix/pushrules/pushrules.go deleted file mode 100644 index 643f2f2..0000000 --- a/matrix/pushrules/pushrules.go +++ /dev/null @@ -1,37 +0,0 @@ -package pushrules - -import ( - "encoding/json" - "net/url" - - "maunium.net/go/mautrix" -) - -// GetPushRules returns the push notification rules for the global scope. -func GetPushRules(client *mautrix.Client) (*PushRuleset, error) { - return GetScopedPushRules(client, "global") -} - -// GetScopedPushRules returns the push notification rules for the given scope. -func GetScopedPushRules(client *mautrix.Client, scope string) (resp *PushRuleset, err error) { - u, _ := url.Parse(client.BuildURL("pushrules", scope)) - // client.BuildURL returns the URL without a trailing slash, but the pushrules endpoint requires the slash. - u.Path += "/" - _, err = client.MakeRequest("GET", u.String(), nil, &resp) - 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 *mautrix.Event) (*PushRuleset, error) { - content := &contentWithRuleset{} - err := json.Unmarshal(event.Content.VeryRaw, content) - if err != nil { - return nil, err - } - - return content.Ruleset, nil -} |