refactor: update Scanned() param

This commit is contained in:
weloe
2023-10-16 20:46:26 +08:00
parent ce95ac86a6
commit 6d763a4d03
3 changed files with 18 additions and 12 deletions

View File

@@ -75,7 +75,7 @@ type IEnforcer interface {
GetQRCode(QRCodeId string) *model.QRCode GetQRCode(QRCodeId string) *model.QRCode
GetQRCodeState(QRCodeId string) model.QRCodeState GetQRCodeState(QRCodeId string) model.QRCodeState
GetQRCodeTimeout(QRCodeId string) int64 GetQRCodeTimeout(QRCodeId string) int64
Scanned(QRCodeId string, token string) (string, error) Scanned(QRCodeId string, loginId string) (string, error)
ConfirmAuth(QRCodeTempToken string) error ConfirmAuth(QRCodeTempToken string) error
CancelAuth(QRCodeTempToken string) error CancelAuth(QRCodeTempToken string) error

View File

@@ -231,11 +231,7 @@ func (e *Enforcer) CreateQRCodeState(QRCodeId string, timeout int64) error {
} }
// Scanned update state to constant.WaitAuth, return tempToken // Scanned update state to constant.WaitAuth, return tempToken
func (e *Enforcer) Scanned(QRCodeId string, token string) (string, error) { func (e *Enforcer) Scanned(QRCodeId string, loginId string) (string, error) {
id, err := e.GetLoginIdByToken(token)
if err != nil {
return "", err
}
qrCode := e.getQRCode(QRCodeId) qrCode := e.getQRCode(QRCodeId)
if qrCode == nil { if qrCode == nil {
return "", fmt.Errorf("QRCode doesn't exist") return "", fmt.Errorf("QRCode doesn't exist")
@@ -244,9 +240,9 @@ func (e *Enforcer) Scanned(QRCodeId string, token string) (string, error) {
return "", fmt.Errorf("QRCode state error: unexpected state value %v, want is %v", qrCode.State, model.WaitScan) return "", fmt.Errorf("QRCode state error: unexpected state value %v, want is %v", qrCode.State, model.WaitScan)
} }
qrCode.State = model.WaitAuth qrCode.State = model.WaitAuth
qrCode.LoginId = id qrCode.LoginId = loginId
err = e.updateQRCode(QRCodeId, qrCode) err := e.updateQRCode(QRCodeId, qrCode)
if err != nil { if err != nil {
return "", err return "", err
} }

View File

@@ -38,7 +38,8 @@ func TestEnforcer_TempToken(t *testing.T) {
func TestEnforcer_ConfirmQRCode(t *testing.T) { func TestEnforcer_ConfirmQRCode(t *testing.T) {
enforcer, _ := NewTestEnforcer(t) enforcer, _ := NewTestEnforcer(t)
// in APP // in APP
token, err := enforcer.LoginById("1") loginId := "1"
token, err := enforcer.LoginById(loginId)
if err != nil { if err != nil {
t.Fatalf("Login failed: %v", err) t.Fatalf("Login failed: %v", err)
} }
@@ -51,7 +52,11 @@ func TestEnforcer_ConfirmQRCode(t *testing.T) {
t.Fatalf("CreateQRCodeState() failed: %v", err) t.Fatalf("CreateQRCodeState() failed: %v", err)
} }
t.Logf("After CreateQRCodeState(), current QRCode state: %v", enforcer.GetQRCodeState(qrCodeId)) t.Logf("After CreateQRCodeState(), current QRCode state: %v", enforcer.GetQRCodeState(qrCodeId))
tempToken, err := enforcer.Scanned(qrCodeId, token) loginIdByToken, err := enforcer.GetLoginIdByToken(token)
if err != nil {
t.Fatalf("GetLoginIdByToken() failed: %v", err)
}
tempToken, err := enforcer.Scanned(qrCodeId, loginIdByToken)
if err != nil { if err != nil {
t.Fatalf("Scanned() failed: %v", err) t.Fatalf("Scanned() failed: %v", err)
} }
@@ -77,7 +82,8 @@ func TestEnforcer_ConfirmQRCode(t *testing.T) {
func TestEnforcer_CancelAuthQRCode(t *testing.T) { func TestEnforcer_CancelAuthQRCode(t *testing.T) {
enforcer, _ := NewTestEnforcer(t) enforcer, _ := NewTestEnforcer(t)
// in APP // in APP
token, err := enforcer.LoginById("1") loginId := "1"
token, err := enforcer.LoginById(loginId)
if err != nil { if err != nil {
t.Fatalf("Login failed: %v", err) t.Fatalf("Login failed: %v", err)
} }
@@ -90,7 +96,11 @@ func TestEnforcer_CancelAuthQRCode(t *testing.T) {
t.Fatalf("CreateQRCodeState() failed: %v", err) t.Fatalf("CreateQRCodeState() failed: %v", err)
} }
t.Logf("After CreateQRCodeState(), current QRCode state: %v", enforcer.GetQRCodeState(qrCodeId)) t.Logf("After CreateQRCodeState(), current QRCode state: %v", enforcer.GetQRCodeState(qrCodeId))
tempToken, err := enforcer.Scanned(qrCodeId, token) loginIdByToken, err := enforcer.GetLoginIdByToken(token)
if err != nil {
t.Fatalf("GetLoginIdByToken() failed: %v", err)
}
tempToken, err := enforcer.Scanned(qrCodeId, loginIdByToken)
if err != nil { if err != nil {
t.Fatalf("Scanned() failed: %v", err) t.Fatalf("Scanned() failed: %v", err)
} }