diff options
| author | Horus3 | 2015-03-19 16:41:39 +0100 |
|---|---|---|
| committer | Horus3 | 2015-03-19 16:41:39 +0100 |
| commit | 77b167ceae8904d827571a0ba7bfa13fac28a40e (patch) | |
| tree | dc320a8b89911686ebc7af79e2335968aa488e38 /domain.go | |
| parent | e14cf986a916e1a7361b058224ef3badd3aad776 (diff) | |
| download | freemail-77b167ceae8904d827571a0ba7bfa13fac28a40e.tar.gz | |
Regression.
Diffstat (limited to 'domain.go')
| -rw-r--r-- | domain.go | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/domain.go b/domain.go new file mode 100644 index 0000000..b897bbb --- /dev/null +++ b/domain.go @@ -0,0 +1,46 @@ +package main + +import ( + "log" + "net" +) + +func (vD VirtualDomain) DomainExists() bool { + query := Db.Where("name = ?", vD.Name).Find(&vD) + if query.Error != nil { + log.Println(query.Error) + return false + } + if vD.Name == "" { + return false + } + return true +} + +func (vD VirtualDomain) CreateDomain() bool { + if !Db.Debug().NewRecord(vD) { + log.Println("Creating new record failed.", vD.Name) + return false + } + query := Db.Debug().Create(&vD) + if query.Error != nil { + log.Println(query.Error) + return false + } + return true +} + +func (vD VirtualDomain) ValidateDomain() bool { + if vD.Name == "" { + return false + } + addr, err := net.LookupIP(vD.Name) + if err != nil { + log.Println(err) + return false + } + if len(addr) == 0 { + return false + } + return true +} |
