diff --git a/pkg/auth/auth.go b/pkg/auth/auth.go index 37df6be0b..ffab304cd 100644 --- a/pkg/auth/auth.go +++ b/pkg/auth/auth.go @@ -33,5 +33,5 @@ func VerifyCredentials(userID, password string) (*meta.User, bool) { return user, true } - return user, false + return nil, false } diff --git a/pkg/auth/createuser.go b/pkg/auth/createuser.go index 387d04d1f..eb6be7206 100644 --- a/pkg/auth/createuser.go +++ b/pkg/auth/createuser.go @@ -26,17 +26,14 @@ import ( "github.com/zinclabs/zinc/pkg/errors" "github.com/zinclabs/zinc/pkg/ider" "github.com/zinclabs/zinc/pkg/meta" - "github.com/zinclabs/zinc/pkg/metadata" ) func CreateUser(id, name, plaintextPassword, role string) (*meta.User, error) { id = strings.ToLower(id) var newUser *meta.User existingUser, userExists, err := GetUser(id) - if err != nil { - if err != errors.ErrKeyNotFound { - return nil, err - } + if err != nil && !errors.Is(err, errors.ErrKeyNotFound) { + return nil, err } if userExists { @@ -61,7 +58,7 @@ func CreateUser(id, name, plaintextPassword, role string) (*meta.User, error) { newUser.Password = GeneratePassword(plaintextPassword, newUser.Salt) } - err = metadata.User.Set(newUser.ID, *newUser) + err = SetUser(newUser.ID, *newUser) if err != nil { return nil, err } diff --git a/pkg/auth/deleteuser.go b/pkg/auth/deleteuser.go index 823603359..8334638ff 100644 --- a/pkg/auth/deleteuser.go +++ b/pkg/auth/deleteuser.go @@ -22,6 +22,5 @@ import ( ) func DeleteUser(id string) error { - id = strings.ToLower(id) - return metadata.User.Delete(id) + return metadata.User.Delete(strings.ToLower(id)) } diff --git a/pkg/auth/getuser.go b/pkg/auth/getuser.go index 820526b71..d1d0c8513 100644 --- a/pkg/auth/getuser.go +++ b/pkg/auth/getuser.go @@ -31,3 +31,7 @@ func GetUser(id string) (*meta.User, bool, error) { } return user, true, nil } + +func SetUser(id string, user meta.User) error { + return metadata.User.Set(id, user) +} diff --git a/pkg/errors/error.go b/pkg/errors/error.go index c493c2169..e67ec51d8 100644 --- a/pkg/errors/error.go +++ b/pkg/errors/error.go @@ -40,6 +40,14 @@ type Error struct { CausedBy error `json:"caused_by,omitempty"` } +func Is(err, target error) bool { + return errors.Is(err, target) +} + +func As(err error, target interface{}) bool { + return errors.As(err, target) +} + func New(errType string, errReason string) *Error { return &Error{Type: errType, Reason: errReason} }