fix: load verification challenges from db

This commit is contained in:
richjohnrambo
2026-08-25 22:35:09 +08:00
parent c020171e52
commit eac2bc2a47
+4 -16
View File
@@ -4072,23 +4072,12 @@ func (verificationMapper) Create(tenantID types.TenantID, vc *types.Verification
}
func (verificationMapper) Get(tenantID types.TenantID, challengeID string) (*types.VerificationCode, error) {
var cached types.VerificationCode
if ok, err := GetCachedObject(tenantID, cacheNamespaceVerification, challengeID, &cached); err != nil {
logs.Warn.Printf("cache verification[%s]: read failed: %v", challengeID, err)
} else if ok {
return &cached, nil
}
_ = DeleteCachedObject(tenantID, cacheNamespaceVerification, challengeID)
tenantAdp, err := tenantBusinessAdapter(tenantID)
if err != nil {
return nil, err
}
vc, err := tenantAdp.TenantVerificationGet(tenantID, challengeID)
if err == nil && vc != nil {
if cacheErr := cacheVerificationCode(tenantID, vc); cacheErr != nil {
logs.Warn.Printf("cache verification[%s]: write failed: %v", challengeID, cacheErr)
}
}
return vc, err
return tenantAdp.TenantVerificationGet(tenantID, challengeID)
}
func (verificationMapper) GetActive(tenantID types.TenantID, scene, phoneHash string, now time.Time) (*types.VerificationCode, error) {
@@ -4171,12 +4160,11 @@ func cacheVerificationCode(tenantID types.TenantID, vc *types.VerificationCode)
if vc == nil {
return nil
}
if err := CacheObject(tenantID, cacheNamespaceVerification, vc.ChallengeID, vc); err != nil {
return err
}
_ = DeleteCachedObject(tenantID, cacheNamespaceVerification, vc.ChallengeID)
if vc.State == types.VerificationStatePending {
return CacheObject(tenantID, cacheNamespaceVerification, verificationActiveCacheID(vc.Scene, vc.PhoneHash), vc.ChallengeID)
}
_ = DeleteCachedObject(tenantID, cacheNamespaceVerification, verificationActiveCacheID(vc.Scene, vc.PhoneHash))
return nil
}