mirror of
https://github.com/CPunch/gopenfusion.git
synced 2024-11-09 18:10:05 +00:00
use proper errors for db.Err
- switch to using errors.Is where applicable
This commit is contained in:
parent
18a6c5ab42
commit
d0346b2382
@ -1,7 +1,7 @@
|
||||
package db
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"errors"
|
||||
"log"
|
||||
|
||||
"golang.org/x/crypto/bcrypt"
|
||||
@ -44,8 +44,8 @@ func (db *DBHandler) NewAccount(Login, Password string) (*Account, error) {
|
||||
}
|
||||
|
||||
var (
|
||||
ErrLoginInvalidID = fmt.Errorf("invalid Login ID")
|
||||
ErrLoginInvalidPassword = fmt.Errorf("invalid ID && Password combo")
|
||||
ErrLoginInvalidID = errors.New("invalid Login ID")
|
||||
ErrLoginInvalidPassword = errors.New("invalid ID && Password combo")
|
||||
)
|
||||
|
||||
func (db *DBHandler) TryLogin(Login, Password string) (*Account, error) {
|
||||
|
@ -2,6 +2,7 @@ package db_test
|
||||
|
||||
import (
|
||||
"context"
|
||||
"errors"
|
||||
"os"
|
||||
"testing"
|
||||
|
||||
@ -50,7 +51,7 @@ func TestDBAccount(t *testing.T) {
|
||||
t.Error("account username is not test")
|
||||
}
|
||||
|
||||
if _, err = testDB.TryLogin("test", "wrongpassword"); err != db.ErrLoginInvalidPassword {
|
||||
if _, err = testDB.TryLogin("test", "wrongpassword"); !errors.Is(err, db.ErrLoginInvalidPassword) {
|
||||
t.Error("expected ErrLoginInvalidPassword")
|
||||
}
|
||||
}
|
||||
|
@ -2,6 +2,7 @@ package login
|
||||
|
||||
import (
|
||||
"encoding/binary"
|
||||
"errors"
|
||||
"fmt"
|
||||
"log"
|
||||
"math/rand"
|
||||
@ -79,7 +80,7 @@ func (server *LoginServer) Login(peer *protocol.CNPeer, _account interface{}, pk
|
||||
|
||||
// attempt login
|
||||
account, err := server.dbHndlr.TryLogin(loginPkt.SzID, loginPkt.SzPassword)
|
||||
if err == db.ErrLoginInvalidID {
|
||||
if errors.Is(err, db.ErrLoginInvalidID) {
|
||||
// this is the default behavior, auto create the account if the ID isn't in use
|
||||
account, err = server.dbHndlr.NewAccount(loginPkt.SzID, loginPkt.SzPassword)
|
||||
if err != nil {
|
||||
@ -87,7 +88,7 @@ func (server *LoginServer) Login(peer *protocol.CNPeer, _account interface{}, pk
|
||||
SendError(LOGIN_DATABASE_ERROR)
|
||||
return err
|
||||
}
|
||||
} else if err == db.ErrLoginInvalidPassword {
|
||||
} else if errors.Is(err, db.ErrLoginInvalidPassword) {
|
||||
// respond with invalid password
|
||||
SendError(LOGIN_ID_AND_PASSWORD_DO_NOT_MATCH)
|
||||
return nil
|
||||
|
Loading…
Reference in New Issue
Block a user