summaryrefslogtreecommitdiff
path: root/email.go
blob: 90799ee475e87a0b46dd4578de1726d995af2762 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
package main

import (
	"log"
	"strings"
)

func (vU VirtualUser) EmailExists() bool {
	query := Db.Where("email = ?", vU.Email).Find(&vU)
	if query.Error != nil {
		log.Println(query.Error)
		return false
	}
	if vU.Email == "" {
		return false
	}
	return true
}

func (vU VirtualUser) CreateEmail() bool {
	if !Db.Debug().NewRecord(vU) {
		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
	}
	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
}