summaryrefslogtreecommitdiff
path: root/email.go
diff options
context:
space:
mode:
Diffstat (limited to 'email.go')
-rw-r--r--email.go48
1 files changed, 39 insertions, 9 deletions
diff --git a/email.go b/email.go
index 150b7fb..1e9c4e3 100644
--- a/email.go
+++ b/email.go
@@ -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]
}