package initialize import ( "context" "github.com/perfect-panel/server/pkg/logger" "github.com/perfect-panel/server/internal/config" "github.com/perfect-panel/server/internal/svc" "github.com/perfect-panel/server/pkg/tool" ) type verifyConfig struct { TurnstileSiteKey string TurnstileSecret string EnableLoginVerify bool EnableRegisterVerify bool EnableResetPasswordVerify bool } type verifyCodeConfig struct { VerifyCodeExpireTime int64 VerifyCodeLimit int64 VerifyCodeInterval int64 } func Verify(svc *svc.ServiceContext) { logger.Debug("Verify config initialization") configs, err := svc.SystemModel.GetVerifyConfig(context.Background()) if err != nil { logger.Error("[Init Verify Config] Get Verify Config Error: ", logger.Field("error", err.Error())) return } var verify verifyConfig tool.SystemConfigSliceReflectToStruct(configs, &verify) svc.Config.Verify = config.Verify{ TurnstileSiteKey: verify.TurnstileSiteKey, TurnstileSecret: verify.TurnstileSecret, LoginVerify: verify.EnableLoginVerify, RegisterVerify: verify.EnableRegisterVerify, ResetPasswordVerify: verify.EnableResetPasswordVerify, } logger.Debug("Verify code config initialization") var vcc verifyCodeConfig cfg, err := svc.SystemModel.GetVerifyCodeConfig(context.Background()) if err != nil { logger.Errorf("[Init Verify Config] Get Verify Code Config Error: %s", err.Error()) return } tool.SystemConfigSliceReflectToStruct(cfg, &vcc) if vcc.VerifyCodeExpireTime == 0 { vcc.VerifyCodeExpireTime = 900 } if vcc.VerifyCodeLimit == 0 { vcc.VerifyCodeLimit = 15 } if vcc.VerifyCodeInterval == 0 { vcc.VerifyCodeInterval = 60 } svc.Config.VerifyCode = config.VerifyCode{ ExpireTime: vcc.VerifyCodeExpireTime, Limit: vcc.VerifyCodeLimit, Interval: vcc.VerifyCodeInterval, } }