BREAKING: update mautrix to 0.15.x
This commit is contained in:
26
vendor/maunium.net/go/mautrix/pushrules/rule.go
generated
vendored
26
vendor/maunium.net/go/mautrix/pushrules/rule.go
generated
vendored
@@ -20,6 +20,7 @@ func init() {
|
||||
}
|
||||
|
||||
type PushRuleCollection interface {
|
||||
GetMatchingRule(room Room, evt *event.Event) *PushRule
|
||||
GetActions(room Room, evt *event.Event) PushActionArray
|
||||
}
|
||||
|
||||
@@ -32,16 +33,20 @@ func (rules PushRuleArray) SetType(typ PushRuleType) PushRuleArray {
|
||||
return rules
|
||||
}
|
||||
|
||||
func (rules PushRuleArray) GetActions(room Room, evt *event.Event) PushActionArray {
|
||||
func (rules PushRuleArray) GetMatchingRule(room Room, evt *event.Event) *PushRule {
|
||||
for _, rule := range rules {
|
||||
if !rule.Match(room, evt) {
|
||||
continue
|
||||
}
|
||||
return rule.Actions
|
||||
return rule
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (rules PushRuleArray) GetActions(room Room, evt *event.Event) PushActionArray {
|
||||
return rules.GetMatchingRule(room, evt).GetActions()
|
||||
}
|
||||
|
||||
type PushRuleMap struct {
|
||||
Map map[string]*PushRule
|
||||
Type PushRuleType
|
||||
@@ -59,7 +64,7 @@ func (rules PushRuleArray) SetTypeAndMap(typ PushRuleType) PushRuleMap {
|
||||
return data
|
||||
}
|
||||
|
||||
func (ruleMap PushRuleMap) GetActions(room Room, evt *event.Event) PushActionArray {
|
||||
func (ruleMap PushRuleMap) GetMatchingRule(room Room, evt *event.Event) *PushRule {
|
||||
var rule *PushRule
|
||||
var found bool
|
||||
switch ruleMap.Type {
|
||||
@@ -69,11 +74,15 @@ func (ruleMap PushRuleMap) GetActions(room Room, evt *event.Event) PushActionArr
|
||||
rule, found = ruleMap.Map[string(evt.Sender)]
|
||||
}
|
||||
if found && rule.Match(room, evt) {
|
||||
return rule.Actions
|
||||
return rule
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (ruleMap PushRuleMap) GetActions(room Room, evt *event.Event) PushActionArray {
|
||||
return ruleMap.GetMatchingRule(room, evt).GetActions()
|
||||
}
|
||||
|
||||
func (ruleMap PushRuleMap) Unmap() PushRuleArray {
|
||||
array := make(PushRuleArray, len(ruleMap.Map))
|
||||
index := 0
|
||||
@@ -114,8 +123,15 @@ type PushRule struct {
|
||||
Pattern string `json:"pattern,omitempty"`
|
||||
}
|
||||
|
||||
func (rule *PushRule) GetActions() PushActionArray {
|
||||
if rule == nil {
|
||||
return nil
|
||||
}
|
||||
return rule.Actions
|
||||
}
|
||||
|
||||
func (rule *PushRule) Match(room Room, evt *event.Event) bool {
|
||||
if !rule.Enabled {
|
||||
if rule == nil || !rule.Enabled {
|
||||
return false
|
||||
}
|
||||
switch rule.Type {
|
||||
|
||||
Reference in New Issue
Block a user