fix: load verification challenges from db
This commit is contained in:
+4
-16
@@ -4072,23 +4072,12 @@ func (verificationMapper) Create(tenantID types.TenantID, vc *types.Verification
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (verificationMapper) Get(tenantID types.TenantID, challengeID string) (*types.VerificationCode, error) {
|
func (verificationMapper) Get(tenantID types.TenantID, challengeID string) (*types.VerificationCode, error) {
|
||||||
var cached types.VerificationCode
|
_ = DeleteCachedObject(tenantID, cacheNamespaceVerification, challengeID)
|
||||||
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
|
|
||||||
}
|
|
||||||
tenantAdp, err := tenantBusinessAdapter(tenantID)
|
tenantAdp, err := tenantBusinessAdapter(tenantID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
vc, err := tenantAdp.TenantVerificationGet(tenantID, challengeID)
|
return 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
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (verificationMapper) GetActive(tenantID types.TenantID, scene, phoneHash string, now time.Time) (*types.VerificationCode, error) {
|
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 {
|
if vc == nil {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
if err := CacheObject(tenantID, cacheNamespaceVerification, vc.ChallengeID, vc); err != nil {
|
_ = DeleteCachedObject(tenantID, cacheNamespaceVerification, vc.ChallengeID)
|
||||||
return err
|
|
||||||
}
|
|
||||||
if vc.State == types.VerificationStatePending {
|
if vc.State == types.VerificationStatePending {
|
||||||
return CacheObject(tenantID, cacheNamespaceVerification, verificationActiveCacheID(vc.Scene, vc.PhoneHash), vc.ChallengeID)
|
return CacheObject(tenantID, cacheNamespaceVerification, verificationActiveCacheID(vc.Scene, vc.PhoneHash), vc.ChallengeID)
|
||||||
}
|
}
|
||||||
|
_ = DeleteCachedObject(tenantID, cacheNamespaceVerification, verificationActiveCacheID(vc.Scene, vc.PhoneHash))
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user