diff options
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 +} |
