diff --git a/drivers/github/accountConfigChecker.go b/drivers/github/accountConfigChecker.go new file mode 100644 index 0000000..8a04651 --- /dev/null +++ b/drivers/github/accountConfigChecker.go @@ -0,0 +1,30 @@ +package github + +import ( + "encoding/json" + "fmt" +) + +// GitHubAccountConfigValidator GitHub账号配置验证器 +type GitHubAccountConfigValidator struct{} + +func (v *GitHubAccountConfigValidator) GetType() string { + return "github-account" +} + +func (v *GitHubAccountConfigValidator) Validate(config string) error { + // GitHub账号配置验证逻辑 + var cfg GithubAccount + if err := json.Unmarshal([]byte(config), &cfg); err != nil { + return fmt.Errorf("解析GitHub账号配置失败: %v", err) + } + + if cfg.Token == "" { + return fmt.Errorf("GitHub账号配置中Token不能为空") + } + if cfg.Owner == "" { + return fmt.Errorf("GitHub账号配置中Owner不能为空") + } + + return nil +} diff --git a/drivers/onebot/accountConfigChecker.go b/drivers/onebot/accountConfigChecker.go new file mode 100644 index 0000000..e74ade0 --- /dev/null +++ b/drivers/onebot/accountConfigChecker.go @@ -0,0 +1,29 @@ +package onebot + +import ( + "encoding/json" + "fmt" +) + +// AccountConfigValidator OneBot账号配置验证器接口 +type OneBotAccountConfigValidator struct{} + +func (v *OneBotAccountConfigValidator) GetType() string { + return "onebot" +} + +func (v *OneBotAccountConfigValidator) Validate(config string) error { + var cfg OneBotAccount + if err := json.Unmarshal([]byte(config), &cfg); err != nil { + return fmt.Errorf("解析OneBot账号配置失败: %v", err) + } + + if cfg.Token == "" { + return fmt.Errorf("OneBot账号配置中Token不能为空") + } + if cfg.URL == "" { + return fmt.Errorf("OneBot账号配置中URL不能为空") + } + + return nil +} diff --git a/internal/accountConfigChecker/reg.go b/internal/accountConfigChecker/reg.go index 3fbb54f..90fd94e 100644 --- a/internal/accountConfigChecker/reg.go +++ b/internal/accountConfigChecker/reg.go @@ -1,10 +1,20 @@ package accountConfigChecker +import ( + "github.com/ssdomei232/goodBaby/drivers/bilibili" + "github.com/ssdomei232/goodBaby/drivers/email" + "github.com/ssdomei232/goodBaby/drivers/github" + "github.com/ssdomei232/goodBaby/drivers/onebot" +) + func InitValidatorRegistry() *ValidatorRegistry { registry := NewValidatorRegistry() - // 注册所有规则验证器 - // registry.Register(&bilibili.BilibiliAccountValidator{}) + // 注册所有账号验证器 + registry.Register(&bilibili.BilibiliAccountConfigValidator{}) + registry.Register(&email.EmailAccountConfigValidator{}) + registry.Register(&github.GitHubAccountConfigValidator{}) + registry.Register(&onebot.OneBotAccountConfigValidator{}) return registry }