summaryrefslogtreecommitdiff
path: root/email.go
diff options
context:
space:
mode:
authorHorus32015-03-19 16:24:10 +0100
committerHorus32015-03-19 16:24:10 +0100
commite14cf986a916e1a7361b058224ef3badd3aad776 (patch)
treea5ae9b523cd9999bcb51daccb7864298606cac63 /email.go
parentf334c93c0364d14a2b55641b155ad58f715a4b39 (diff)
downloadfreemail-e14cf986a916e1a7361b058224ef3badd3aad776.tar.gz
OOP. Creates virtual_domains and virtual_users now. Enhanced test suite.
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]
}