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 }