Files
goodBaby/internal/ruleConfigChecker/reg.go
T
2026-08-13 14:56:02 +08:00

40 lines
1.1 KiB
Go

package ruleConfigChecker
import (
"sync"
"github.com/ssdomei232/goodBaby/drivers/bilibili"
"github.com/ssdomei232/goodBaby/drivers/dingtalk"
"github.com/ssdomei232/goodBaby/drivers/email"
"github.com/ssdomei232/goodBaby/drivers/fwalert"
"github.com/ssdomei232/goodBaby/drivers/github"
"github.com/ssdomei232/goodBaby/drivers/onebot"
"github.com/ssdomei232/goodBaby/drivers/rainyun"
)
var (
once sync.Once
registry *ValidatorRegistry
)
// InitValidatorRegistry 返回全局唯一的规则验证器注册表
func InitValidatorRegistry() *ValidatorRegistry {
once.Do(func() {
r := NewValidatorRegistry()
// 注册所有规则验证器
r.Register(&bilibili.BilibiliDynamicRuleValidator{})
r.Register(&bilibili.BilibiliPrivateMessageRuleValidator{})
r.Register(&email.EmailRuleValidator{})
r.Register(&onebot.OneBotRuleValidator{})
r.Register(&dingtalk.DingTalkRuleValidator{})
r.Register(&github.GithubMakeRepositoryPublicRuleValidator{})
r.Register(&fwalert.FwalertRuleValidator{})
r.Register(&rainyun.RainyunWorkorderRuleValidator{})
r.Register(&rainyun.RainyunRunAwayRuleValidator{})
registry = r
})
return registry
}