Upstream sync
This commit is contained in:
@@ -1,12 +1,10 @@
|
||||
package validation
|
||||
|
||||
import (
|
||||
|
||||
"strings"
|
||||
|
||||
"bitbucket.org/nemt/nemt-portal-api/application/viewmodel"
|
||||
"bitbucket.org/nemt/nemt-portal-api/infra/errors"
|
||||
|
||||
)
|
||||
|
||||
func characterIsUpperCase(character rune) bool {
|
||||
@@ -25,29 +23,29 @@ func ValidatePassword(user *viewmodel.User) []errors.ValidationError {
|
||||
var result []errors.ValidationError
|
||||
|
||||
userOrganizationName := ""
|
||||
if len(user.Organizations) > 0{
|
||||
if len(user.Organizations) > 0 {
|
||||
userOrganizationName = user.Organizations[0].Name
|
||||
}
|
||||
|
||||
if (len(user.Pass) < 8) {
|
||||
result = append(result, errors.ValidationError{Field : "password", Message : "Password must be at least 8 characters."})
|
||||
if len(user.Pass) < 8 {
|
||||
result = append(result, errors.ValidationError{Field: "password", Message: "Password must be at least 8 characters."})
|
||||
}
|
||||
|
||||
if (strings.Contains(user.Pass, user.First)){
|
||||
result = append(result, errors.ValidationError{Field : "password", Message : "Password cannot include your First Name."})
|
||||
if strings.Contains(user.Pass, user.First) {
|
||||
result = append(result, errors.ValidationError{Field: "password", Message: "Password cannot include your First Name."})
|
||||
}
|
||||
|
||||
if (strings.Contains(user.Pass, user.Last)){
|
||||
result = append(result, errors.ValidationError{Field : "password", Message : "Password cannot include your Last Name."})
|
||||
if strings.Contains(user.Pass, user.Last) {
|
||||
result = append(result, errors.ValidationError{Field: "password", Message: "Password cannot include your Last Name."})
|
||||
}
|
||||
|
||||
if (strings.Contains(user.Pass, userOrganizationName)){
|
||||
result = append(result, errors.ValidationError{Field : "password", Message : "Password cannot include your Organization Name."})
|
||||
if strings.Contains(user.Pass, userOrganizationName) {
|
||||
result = append(result, errors.ValidationError{Field: "password", Message: "Password cannot include your Organization Name."})
|
||||
}
|
||||
|
||||
containsUpperCaseLetter := false;
|
||||
containsLowerCaseLetter := false;
|
||||
containsNumber := false;
|
||||
containsUpperCaseLetter := false
|
||||
containsLowerCaseLetter := false
|
||||
containsNumber := false
|
||||
|
||||
for _, character := range user.Pass {
|
||||
containsUpperCaseLetter = containsUpperCaseLetter || characterIsUpperCase(character)
|
||||
@@ -56,12 +54,11 @@ func ValidatePassword(user *viewmodel.User) []errors.ValidationError {
|
||||
}
|
||||
|
||||
if !containsUpperCaseLetter || !containsLowerCaseLetter || !containsNumber {
|
||||
result = append(result, errors.ValidationError{Field : "password", Message : "Password must contain one of EACH :"})
|
||||
result = append(result, errors.ValidationError{Field : "password-tab", Message : "an uppercase letter"})
|
||||
result = append(result, errors.ValidationError{Field : "password-tab", Message : "a lowercase letter"})
|
||||
result = append(result, errors.ValidationError{Field : "password-tab", Message : "a number"})
|
||||
result = append(result, errors.ValidationError{Field: "password", Message: "Password must contain one of EACH :"})
|
||||
result = append(result, errors.ValidationError{Field: "password-tab", Message: "an uppercase letter"})
|
||||
result = append(result, errors.ValidationError{Field: "password-tab", Message: "a lowercase letter"})
|
||||
result = append(result, errors.ValidationError{Field: "password-tab", Message: "a number"})
|
||||
}
|
||||
|
||||
|
||||
return result
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user