refactor(user): export IsErrUserStatusError for use across packages
Make isErrUserStatusError public and replace all verbose !IsErrAccountDisabled(err) && !IsErrAccountLocked(err) checks with the shorter IsErrUserStatusError(err) call.
This commit is contained in:
parent
cd6148511a
commit
8409bdb120
|
|
@ -118,7 +118,7 @@ func getUserFromArg(s *xorm.Session, arg string) *user.User {
|
|||
}
|
||||
|
||||
u, err := user.GetUserWithEmail(s, &filter)
|
||||
if err != nil && !user.IsErrAccountDisabled(err) && !user.IsErrAccountLocked(err) {
|
||||
if err != nil && !user.IsErrUserStatusError(err) {
|
||||
log.Fatalf("Could not get user: %s", err)
|
||||
}
|
||||
return u
|
||||
|
|
@ -143,7 +143,7 @@ var userListCmd = &cobra.Command{
|
|||
|
||||
if userFlagEmail != "" {
|
||||
u, err := user.GetUserWithEmail(s, &user.User{Email: userFlagEmail})
|
||||
if err != nil && !user.IsErrAccountDisabled(err) && !user.IsErrAccountLocked(err) {
|
||||
if err != nil && !user.IsErrUserStatusError(err) {
|
||||
if user.IsErrUserDoesNotExist(err) {
|
||||
log.Fatalf("No user found with email %s", userFlagEmail)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -142,7 +142,7 @@ func (lu *ProjectUser) Delete(s *xorm.Session, _ web.Auth) (err error) {
|
|||
|
||||
// Check if the user exists
|
||||
u, err := user.GetUserByUsername(s, lu.Username)
|
||||
if err != nil && !user.IsErrAccountDisabled(err) && !user.IsErrAccountLocked(err) {
|
||||
if err != nil && !user.IsErrUserStatusError(err) {
|
||||
return
|
||||
}
|
||||
lu.UserID = u.ID
|
||||
|
|
@ -249,7 +249,7 @@ func (lu *ProjectUser) Update(s *xorm.Session, _ web.Auth) (err error) {
|
|||
|
||||
// Check if the user exists
|
||||
u, err := user.GetUserByUsername(s, lu.Username)
|
||||
if err != nil && !user.IsErrAccountDisabled(err) && !user.IsErrAccountLocked(err) {
|
||||
if err != nil && !user.IsErrUserStatusError(err) {
|
||||
return err
|
||||
}
|
||||
lu.UserID = u.ID
|
||||
|
|
|
|||
|
|
@ -110,7 +110,7 @@ func (tm *TeamMember) Delete(s *xorm.Session, a web.Auth) (err error) {
|
|||
|
||||
// Find the numeric user id
|
||||
user, err := user2.GetUserByUsername(s, tm.Username)
|
||||
if err != nil && !user2.IsErrAccountDisabled(err) && !user2.IsErrAccountLocked(err) {
|
||||
if err != nil && !user2.IsErrUserStatusError(err) {
|
||||
return
|
||||
}
|
||||
tm.UserID = user.ID
|
||||
|
|
@ -149,7 +149,7 @@ func (tm *TeamMember) MembershipExists(s *xorm.Session) (exists bool, err error)
|
|||
func (tm *TeamMember) Update(s *xorm.Session, _ web.Auth) (err error) {
|
||||
// Find the numeric user id
|
||||
user, err := user2.GetUserByUsername(s, tm.Username)
|
||||
if err != nil && !user2.IsErrAccountDisabled(err) && !user2.IsErrAccountLocked(err) {
|
||||
if err != nil && !user2.IsErrUserStatusError(err) {
|
||||
return
|
||||
}
|
||||
tm.UserID = user.ID
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ func (tm *TeamMember) CanCreate(s *xorm.Session, a web.Auth) (bool, error) {
|
|||
// CanDelete checks if the user can delete a new team member
|
||||
func (tm *TeamMember) CanDelete(s *xorm.Session, a web.Auth) (bool, error) {
|
||||
u, err := user.GetUserByUsername(s, tm.Username)
|
||||
if err != nil && !user.IsErrAccountDisabled(err) && !user.IsErrAccountLocked(err) {
|
||||
if err != nil && !user.IsErrUserStatusError(err) {
|
||||
return false, err
|
||||
}
|
||||
if u.ID == a.GetID() {
|
||||
|
|
|
|||
|
|
@ -264,7 +264,7 @@ func getOrCreateLdapUser(s *xorm.Session, entry *ldap.Entry) (u *user.User, err
|
|||
Issuer: user.IssuerLDAP,
|
||||
Subject: username,
|
||||
})
|
||||
if err != nil && !user.IsErrUserDoesNotExist(err) && !user.IsErrAccountDisabled(err) && !user.IsErrAccountLocked(err) {
|
||||
if err != nil && !user.IsErrUserDoesNotExist(err) && !user.IsErrUserStatusError(err) {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -283,10 +283,10 @@ func getOrCreateUser(s *xorm.Session, cl *claims, provider *Provider, idToken *o
|
|||
Issuer: idToken.Issuer,
|
||||
Subject: idToken.Subject,
|
||||
})
|
||||
if err != nil && !user.IsErrUserDoesNotExist(err) && !user.IsErrAccountDisabled(err) && !user.IsErrAccountLocked(err) {
|
||||
if err != nil && !user.IsErrUserDoesNotExist(err) && !user.IsErrUserStatusError(err) {
|
||||
return nil, err
|
||||
}
|
||||
alreadyCreatedFromIssuer = err == nil || user.IsErrAccountDisabled(err) || user.IsErrAccountLocked(err)
|
||||
alreadyCreatedFromIssuer = err == nil || user.IsErrUserStatusError(err)
|
||||
|
||||
if !alreadyCreatedFromIssuer && (provider.EmailFallback || provider.UsernameFallback) {
|
||||
|
||||
|
|
@ -309,10 +309,10 @@ func getOrCreateUser(s *xorm.Session, cl *claims, provider *Provider, idToken *o
|
|||
|
||||
// Check if the user exists for the given fallback matching options
|
||||
u, err = user.GetUserWithEmail(s, searchUser)
|
||||
if err != nil && !user.IsErrUserDoesNotExist(err) && !user.IsErrAccountDisabled(err) && !user.IsErrAccountLocked(err) {
|
||||
if err != nil && !user.IsErrUserDoesNotExist(err) && !user.IsErrUserStatusError(err) {
|
||||
return nil, err
|
||||
}
|
||||
fallbackMatchFound = err == nil || user.IsErrAccountDisabled(err) || user.IsErrAccountLocked(err)
|
||||
fallbackMatchFound = err == nil || user.IsErrUserStatusError(err)
|
||||
}
|
||||
|
||||
if !alreadyCreatedFromIssuer && !fallbackMatchFound {
|
||||
|
|
|
|||
|
|
@ -55,12 +55,12 @@ func GetAvatar(c *echo.Context) error {
|
|||
|
||||
// Get the user
|
||||
u, err := user.GetUserWithEmail(s, &user.User{Username: username})
|
||||
if err != nil && !user.IsErrUserDoesNotExist(err) && !user.IsErrAccountDisabled(err) && !user.IsErrAccountLocked(err) {
|
||||
if err != nil && !user.IsErrUserDoesNotExist(err) && !user.IsErrUserStatusError(err) {
|
||||
log.Errorf("Error getting user for avatar: %v", err)
|
||||
return err
|
||||
}
|
||||
|
||||
found := err == nil || user.IsErrAccountDisabled(err) || user.IsErrAccountLocked(err)
|
||||
found := err == nil || user.IsErrUserStatusError(err)
|
||||
|
||||
avatarProvider := avatar.GetProvider(u)
|
||||
|
||||
|
|
|
|||
|
|
@ -239,7 +239,7 @@ func RefreshToken(c *echo.Context) (err error) {
|
|||
}
|
||||
|
||||
u, err := user2.GetUserWithEmail(s, &user2.User{ID: session.UserID})
|
||||
if user2.IsErrAccountDisabled(err) || user2.IsErrAccountLocked(err) {
|
||||
if user2.IsErrUserStatusError(err) {
|
||||
if _, delErr := s.Where("id = ?", session.ID).Delete(&models.Session{}); delErr != nil {
|
||||
_ = s.Rollback()
|
||||
return delErr
|
||||
|
|
|
|||
|
|
@ -92,7 +92,7 @@ func checkAPITokenAndPutItInContext(tokenHeaderValue string, c *echo.Context) er
|
|||
}
|
||||
|
||||
u, err := user.GetUserByID(s, token.OwnerID)
|
||||
if user.IsErrAccountDisabled(err) || user.IsErrAccountLocked(err) {
|
||||
if user.IsErrUserStatusError(err) {
|
||||
log.Debugf("[auth] Tried authenticating with token %d but the owner's account is disabled or locked", token.ID)
|
||||
return echo.NewHTTPError(http.StatusUnauthorized, "Unauthorized")
|
||||
}
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ func BasicAuth(c *echo.Context, username, password string) (bool, error) {
|
|||
if user.IsErrUserDoesNotExist(err) {
|
||||
return false, nil
|
||||
}
|
||||
if user.IsErrAccountDisabled(err) || user.IsErrAccountLocked(err) {
|
||||
if user.IsErrUserStatusError(err) {
|
||||
return false, nil
|
||||
}
|
||||
if u == nil {
|
||||
|
|
|
|||
|
|
@ -39,8 +39,8 @@ import (
|
|||
"xorm.io/xorm"
|
||||
)
|
||||
|
||||
// isErrUserStatusError returns true if the error is an ErrAccountDisabled or ErrAccountLocked.
|
||||
func isErrUserStatusError(err error) bool {
|
||||
// IsErrUserStatusError returns true if the error is an ErrAccountDisabled or ErrAccountLocked.
|
||||
func IsErrUserStatusError(err error) bool {
|
||||
return IsErrAccountDisabled(err) || IsErrAccountLocked(err)
|
||||
}
|
||||
|
||||
|
|
@ -134,7 +134,7 @@ func (u *User) RouteForMail() (string, error) {
|
|||
s := db.NewSession()
|
||||
defer s.Close()
|
||||
user, err := getUser(s, &User{ID: u.ID}, true)
|
||||
if err != nil && !isErrUserStatusError(err) {
|
||||
if err != nil && !IsErrUserStatusError(err) {
|
||||
return "", err
|
||||
}
|
||||
return user.Email, nil
|
||||
|
|
@ -157,7 +157,7 @@ func (u *User) ShouldNotify(sessions ...*xorm.Session) (bool, error) {
|
|||
defer s.Close()
|
||||
}
|
||||
_, err := getUser(s, &User{ID: u.ID}, true)
|
||||
if isErrUserStatusError(err) {
|
||||
if IsErrUserStatusError(err) {
|
||||
return false, nil
|
||||
}
|
||||
if err != nil {
|
||||
|
|
@ -538,7 +538,7 @@ func UpdateUser(s *xorm.Session, user *User, forceOverride bool) (updatedUser *U
|
|||
|
||||
// Check if it exists
|
||||
theUser, err := GetUserWithEmail(s, &User{ID: user.ID})
|
||||
if err != nil && !isErrUserStatusError(err) {
|
||||
if err != nil && !IsErrUserStatusError(err) {
|
||||
return &User{}, err
|
||||
}
|
||||
|
||||
|
|
@ -548,7 +548,7 @@ func UpdateUser(s *xorm.Session, user *User, forceOverride bool) (updatedUser *U
|
|||
} else {
|
||||
// Check if the new username already exists
|
||||
uu, err := GetUserByUsername(s, user.Username)
|
||||
if err != nil && !IsErrUserDoesNotExist(err) && !isErrUserStatusError(err) {
|
||||
if err != nil && !IsErrUserDoesNotExist(err) && !IsErrUserStatusError(err) {
|
||||
return nil, err
|
||||
}
|
||||
if uu.ID != 0 && uu.ID != user.ID {
|
||||
|
|
@ -570,7 +570,7 @@ func UpdateUser(s *xorm.Session, user *User, forceOverride bool) (updatedUser *U
|
|||
Issuer: user.Issuer,
|
||||
Subject: user.Subject,
|
||||
}, true)
|
||||
if err != nil && !IsErrUserDoesNotExist(err) && !isErrUserStatusError(err) {
|
||||
if err != nil && !IsErrUserDoesNotExist(err) && !IsErrUserStatusError(err) {
|
||||
return nil, err
|
||||
}
|
||||
if uu.ID != 0 && uu.ID != user.ID {
|
||||
|
|
@ -636,7 +636,7 @@ func UpdateUser(s *xorm.Session, user *User, forceOverride bool) (updatedUser *U
|
|||
|
||||
// Get the newly updated user
|
||||
updatedUser, err = GetUserByID(s, user.ID)
|
||||
if err != nil && !isErrUserStatusError(err) {
|
||||
if err != nil && !IsErrUserStatusError(err) {
|
||||
return &User{}, err
|
||||
}
|
||||
|
||||
|
|
@ -659,7 +659,7 @@ func UpdateUserPassword(s *xorm.Session, user *User, newPassword string) (err er
|
|||
|
||||
// Get all user details
|
||||
theUser, err := GetUserByID(s, user.ID)
|
||||
if err != nil && !isErrUserStatusError(err) {
|
||||
if err != nil && !IsErrUserStatusError(err) {
|
||||
return err
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -84,7 +84,7 @@ func CreateUser(s *xorm.Session, user *User) (newUser *User, err error) {
|
|||
|
||||
// Get the full new User
|
||||
newUserOut, err := GetUserByID(s, user.ID)
|
||||
if err != nil && !isErrUserStatusError(err) {
|
||||
if err != nil && !IsErrUserStatusError(err) {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue