forked from Silverfish/proton-bridge
Other: Add more extensive logging
This commit is contained in:
@ -40,11 +40,7 @@ func (f *frontendCLI) listAccounts(c *ishell.Context) {
|
||||
if user.Connected {
|
||||
connected = "connected"
|
||||
}
|
||||
mode := "split"
|
||||
if user.AddressMode == vault.CombinedMode {
|
||||
mode = "combined"
|
||||
}
|
||||
f.Printf(spacing, idx, user.Username, connected, mode)
|
||||
f.Printf(spacing, idx, user.Username, connected, user.AddressMode)
|
||||
}
|
||||
f.Println()
|
||||
}
|
||||
@ -265,16 +261,7 @@ func (f *frontendCLI) changeMode(c *ishell.Context) {
|
||||
targetMode = vault.CombinedMode
|
||||
}
|
||||
|
||||
var targetModeName string
|
||||
|
||||
switch targetMode {
|
||||
case vault.CombinedMode:
|
||||
targetModeName = "combined"
|
||||
case vault.SplitMode:
|
||||
targetModeName = "split"
|
||||
}
|
||||
|
||||
if !f.yesNoQuestion("Are you sure you want to change the mode for account " + bold(user.Username) + " to " + bold(targetModeName)) {
|
||||
if !f.yesNoQuestion("Are you sure you want to change the mode for account " + bold(user.Username) + " to " + bold(targetMode.String())) {
|
||||
return
|
||||
}
|
||||
|
||||
@ -282,7 +269,7 @@ func (f *frontendCLI) changeMode(c *ishell.Context) {
|
||||
f.printAndLogError("Cannot switch address mode:", err)
|
||||
}
|
||||
|
||||
f.Printf("Address mode for account %s changed to %s\n", user.Username, targetModeName)
|
||||
f.Printf("Address mode for account %s changed to %s\n", user.Username, targetMode)
|
||||
}
|
||||
|
||||
func (f *frontendCLI) configureAppleMail(c *ishell.Context) {
|
||||
|
||||
@ -368,17 +368,20 @@ func (s *Service) Login(ctx context.Context, login *LoginRequest) (*emptypb.Empt
|
||||
if err != nil {
|
||||
defer s.loginClean()
|
||||
|
||||
switch {
|
||||
case errors.Is(err, bridge.ErrUserAlreadyLoggedIn):
|
||||
if errors.Is(err, bridge.ErrUserAlreadyLoggedIn) {
|
||||
_ = s.SendEvent(NewLoginAlreadyLoggedInEvent(auth.UserID))
|
||||
} else if apiErr := new(liteapi.Error); errors.As(err, &apiErr) {
|
||||
switch apiErr.Code { // nolint:exhaustive
|
||||
case liteapi.PasswordWrong:
|
||||
_ = s.SendEvent(NewLoginError(LoginErrorType_USERNAME_PASSWORD_ERROR, ""))
|
||||
|
||||
case errors.Is(err, liteapi.ErrIncorrectLoginCredentials):
|
||||
_ = s.SendEvent(NewLoginError(LoginErrorType_USERNAME_PASSWORD_ERROR, ""))
|
||||
case liteapi.PaidPlanRequired:
|
||||
_ = s.SendEvent(NewLoginError(LoginErrorType_FREE_USER, ""))
|
||||
|
||||
case errors.Is(err, liteapi.ErrPaidPlanRequired):
|
||||
_ = s.SendEvent(NewLoginError(LoginErrorType_FREE_USER, ""))
|
||||
|
||||
default:
|
||||
default:
|
||||
_ = s.SendEvent(NewLoginError(LoginErrorType_USERNAME_PASSWORD_ERROR, err.Error()))
|
||||
}
|
||||
} else {
|
||||
_ = s.SendEvent(NewLoginError(LoginErrorType_USERNAME_PASSWORD_ERROR, err.Error()))
|
||||
}
|
||||
|
||||
@ -426,12 +429,10 @@ func (s *Service) Login2FA(ctx context.Context, login *LoginRequest) (*emptypb.E
|
||||
}
|
||||
|
||||
if err := s.authClient.Auth2FA(context.Background(), liteapi.Auth2FAReq{TwoFactorCode: string(twoFA)}); err != nil {
|
||||
switch {
|
||||
case errors.Is(err, liteapi.ErrBad2FACode):
|
||||
if apiErr := new(liteapi.Error); errors.As(err, &apiErr) && apiErr.Code == liteapi.PasswordWrong {
|
||||
s.log.Warn("Login 2FA: retry 2fa")
|
||||
_ = s.SendEvent(NewLoginError(LoginErrorType_TFA_ERROR, ""))
|
||||
|
||||
default:
|
||||
} else {
|
||||
s.log.WithError(err).Warn("Login 2FA: failed")
|
||||
_ = s.SendEvent(NewLoginError(LoginErrorType_TFA_ABORT, err.Error()))
|
||||
s.loginClean()
|
||||
|
||||
Reference in New Issue
Block a user