diff options
Diffstat (limited to 'user/validators.go')
-rw-r--r-- | user/validators.go | 45 |
1 files changed, 0 insertions, 45 deletions
diff --git a/user/validators.go b/user/validators.go index b54457f..e497122 100644 --- a/user/validators.go +++ b/user/validators.go @@ -19,7 +19,6 @@ package user import ( "strings" - e "errors" "github.com/spf13/viper" "vidhukant.com/openbills/errors" "vidhukant.com/openbills/util" @@ -59,41 +58,6 @@ func validateUsername(username string) error { return nil } -// NOTE: very inefficient and really really really dumb but it works -// TODO: find a better (or even a remotely good) way -func validateUserField(field, value string) error { - if value != "" { - var count int64 - err := db.Model(&User{}). - Where(field + " = ?", value). - Count(&count). - Error - - if err != nil { - return err - } - - if count > 0 { - switch(field) { - case "username": - return errors.ErrNonUniqueUsername - case "phone": - return errors.ErrNonUniquePhone - case "email": - return errors.ErrNonUniqueEmail - case "website": - return errors.ErrNonUniqueWebsite - case "gstin": - return errors.ErrNonUniqueGSTIN - default: - return e.New(field + " is not unique") - } - } - } - - return nil -} - func (u *User) validate() error { u.Username = strings.TrimSpace(u.Username) u.Email = strings.TrimSpace(u.Email) @@ -102,8 +66,6 @@ func (u *User) validate() error { u.Gstin = strings.TrimSpace(u.Gstin) u.IsVerified = false - // TODO: validate username length and stuff - // don't validate if GSTIN is empty if u.Gstin != "" && !util.ValidateGstin(u.Gstin) { return errors.ErrInvalidGSTIN @@ -146,12 +108,5 @@ func (u *User) validate() error { return err } - for _, i := range [][]string{{"username", u.Username}, {"email", u.Email}, {"website", u.Website}, {"gstin", u.Gstin}, {"phone", u.Phone}} { - err := validateUserField(i[0], i[1]) - if err != nil { - return err - } - } - return nil } |