Compare commits

..

2 Commits

3 changed files with 14 additions and 5 deletions

2
go.mod
View File

@ -1,6 +1,6 @@
module go.balki.me/cloudflare-dns-cli module go.balki.me/cloudflare-dns-cli
go 1.22.1 go 1.22.2
require ( require (
github.com/libdns/cloudflare v0.1.1 github.com/libdns/cloudflare v0.1.1

View File

@ -33,9 +33,10 @@ func genRecord() (libdns.Record, error) {
case cname != "": case cname != "":
if mx { if mx {
return libdns.Record{ return libdns.Record{
Type: "MX", Type: "MX",
Name: sub, Name: sub,
Value: cname, Value: cname,
Priority: 10,
}, nil }, nil
} else { } else {
return libdns.Record{ return libdns.Record{

View File

@ -62,6 +62,7 @@ type cfDNSRecord struct {
ZoneName string `json:"zone_name,omitempty"` ZoneName string `json:"zone_name,omitempty"`
CreatedOn time.Time `json:"created_on,omitempty"` CreatedOn time.Time `json:"created_on,omitempty"`
ModifiedOn time.Time `json:"modified_on,omitempty"` ModifiedOn time.Time `json:"modified_on,omitempty"`
Priority uint `json:"priority,omitempty"`
Data struct { Data struct {
// LOC // LOC
LatDegrees int `json:"lat_degrees,omitempty"` LatDegrees int `json:"lat_degrees,omitempty"`
@ -122,13 +123,17 @@ func (r cfDNSRecord) libdnsRecord(zone string) libdns.Record {
} }
return srv.ToRecord() return srv.ToRecord()
} }
return libdns.Record{ out := libdns.Record{
Type: r.Type, Type: r.Type,
Name: libdns.RelativeName(r.Name, zone), Name: libdns.RelativeName(r.Name, zone),
Value: r.Content, Value: r.Content,
TTL: time.Duration(r.TTL) * time.Second, TTL: time.Duration(r.TTL) * time.Second,
ID: r.ID, ID: r.ID,
} }
if r.Type == "MX" {
out.Priority = r.Priority
}
return out
} }
func cloudflareRecord(r libdns.Record) (cfDNSRecord, error) { func cloudflareRecord(r libdns.Record) (cfDNSRecord, error) {
@ -152,6 +157,9 @@ func cloudflareRecord(r libdns.Record) (cfDNSRecord, error) {
} else { } else {
rec.Name = r.Name rec.Name = r.Name
rec.Content = r.Value rec.Content = r.Value
if r.Type == "MX" {
rec.Priority = r.Priority
}
} }
return rec, nil return rec, nil
} }