aboutsummaryrefslogtreecommitdiff
path: root/repositories/dns/mx.go
blob: 06f2d6ccb8c52e8e33e567f09c711cf96147a9fd (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
package dns

import (
	"dove/database"
	"dove/models/dns"
)

func FindMXRecordByID(recordID uint) *dns.MXRecord {
	var record dns.MXRecord
	result := database.DB.First(&record, recordID)
	if result.Error != nil {
		return nil
	}
	return &record
}

func FindMXRecords(domainID uint, name string) []dns.MXRecord {
	var records []dns.MXRecord
	database.DB.Where("domain_id = ? AND name = ?", domainID, name).Order("priority ASC").Find(&records)
	return records
}

func FindMXRecordsByDomainID(domainID uint) []dns.MXRecord {
	var records []dns.MXRecord
	database.DB.Where("domain_id = ?", domainID).Order("priority ASC").Find(&records)
	return records
}

func FindMXRecordByTarget(domainID uint, target string) *dns.MXRecord {
	var record dns.MXRecord
	result := database.DB.Where("domain_id = ? AND target = ?", domainID, target).First(&record)
	if result.Error != nil {
		return nil
	}
	return &record
}

func CreateMXRecord(record *dns.MXRecord) error {
	return database.DB.Create(record).Error
}

func UpdateMXRecord(record *dns.MXRecord) error {
	return database.DB.Save(record).Error
}

func DeleteMXRecord(record *dns.MXRecord) error {
	return database.DB.Delete(record).Error
}

func DeleteMXRecordsByDomainID(domainID uint) error {
	return database.DB.Where("domain_id = ?", domainID).Delete(&dns.MXRecord{}).Error
}