diff options
Diffstat (limited to 'email.go')
| -rw-r--r-- | email.go | 48 |
1 files changed, 39 insertions, 9 deletions
@@ -2,11 +2,11 @@ package main import ( "log" + "strings" ) -func EmailExists(email string) bool { - vU := VirtualUser{} - query := Db.Where(map[string]interface{}{"email": email}).Find(&vU) +func (vU VirtualUser) EmailExists() bool { + query := Db.Where("email = ?", vU.Email).Find(&vU) if query.Error != nil { log.Println(query.Error) return false @@ -17,13 +17,43 @@ func EmailExists(email string) bool { return true } -func CreateEmail(email, password string) (bool, error) { - vU := VirtualUser{Email: email, Password: password} +func (vU VirtualUser) CreateEmail() bool { if !Db.Debug().NewRecord(vU) { - log.Println("Creating new record failed.") - return false, nil + log.Println("Creating new record failed.", vU) + return false + } + query := Db.Debug().Create(&vU) + if query.Error != nil { + log.Println(query.Error) + return false + } + return true +} + +func ValidateEmail(email string) bool { + if !strings.Contains(email, "@") { + return false + } + if strings.HasPrefix(email, "@") { + return false } - Db.Debug().Create(&vU) + if strings.HasSuffix(email, "@") { + return false + } + if strings.Count(email, "@") != 1 { + return false + } + return true +} + +func ValidateAlias(alias string) bool { + if !strings.Contains(alias, "@") { + return false + } + return true +} - return true, nil +func GetDomain(email string) string { + fragments := strings.Split(email, "@") + return fragments[len(fragments)-1] } |
