aboutsummaryrefslogtreecommitdiff
path: root/user
diff options
context:
space:
mode:
authorVidhu Kant Sharma <vidhukant@vidhukant.com>2023-09-10 13:49:34 +0530
committerVidhu Kant Sharma <vidhukant@vidhukant.com>2023-09-10 13:49:34 +0530
commit794a9c07ffc7dc72993f5240796dfe643d73ed82 (patch)
tree26e8175982cb00dcd3dc4f099b6b7309ddda2fa1 /user
parent8f2180401fd05ba63633d9559dc156f5ca1573ba (diff)
validating email upon user sign upv0.0.7
Diffstat (limited to 'user')
-rw-r--r--user/user.go2
-rw-r--r--user/validators.go9
2 files changed, 9 insertions, 2 deletions
diff --git a/user/user.go b/user/user.go
index ee36e95..132acb6 100644
--- a/user/user.go
+++ b/user/user.go
@@ -40,7 +40,7 @@ type User struct {
gorm.Model
Username string
Email string
- Password string
+ Password string `json:"-"`
IsVerified bool
}
diff --git a/user/validators.go b/user/validators.go
index 88239c6..647da06 100644
--- a/user/validators.go
+++ b/user/validators.go
@@ -19,6 +19,7 @@ package user
import (
"strings"
+ "net/mail"
e "errors"
"github.com/spf13/viper"
"vidhukant.com/openbills/errors"
@@ -73,9 +74,15 @@ func (u *User) validate() error {
u.IsVerified = false
// TODO: validate username length and stuff
- // TODO: validate if email is valid
var err error
+
+ // validate email
+ _, err = mail.ParseAddress(u.Email)
+ if err != nil {
+ return errors.ErrInvalidEmail
+ }
+
for _, i := range [][]string{{"username", u.Username}, {"email", u.Email}} {
err = validateUserField(i[0], i[1])
if err != nil {