1
0
mirror of https://github.com/StackExchange/dnscontrol.git synced 2024-05-11 05:55:12 +00:00

NAMECHEAP: Adopt diff2 in compatibility mode (#1894)

This commit is contained in:
Tom Limoncelli
2023-01-18 12:35:19 -05:00
committed by GitHub
parent 572f2ce28c
commit 77df64d497
2 changed files with 39 additions and 41 deletions

View File

@@ -191,48 +191,46 @@ func (n *namecheapProvider) GetDomainCorrections(dc *models.DomainConfig) ([]*mo
// Normalize
models.PostProcessRecords(actual)
var corrections []*models.Correction
if !diff2.EnableDiff2 || true { // Remove "|| true" when diff2 version arrives
var create, delete, modify diff.Changeset
if !diff2.EnableDiff2 {
differ := diff.New(dc)
_, create, delete, modify, err := differ.IncrementalDiff(actual)
if err != nil {
return nil, err
}
// // because namecheap doesn't have selective create, delete, modify,
// // we bundle them all up to send at once. We *do* want to see the
// // changes though
var desc []string
for _, i := range create {
desc = append(desc, "\n"+i.String())
}
for _, i := range delete {
desc = append(desc, "\n"+i.String())
}
for _, i := range modify {
desc = append(desc, "\n"+i.String())
}
msg := fmt.Sprintf("GENERATE_ZONE: %s (%d records)%s", dc.Name, len(dc.Records), desc)
corrections := []*models.Correction{}
// only create corrections if there are changes
if len(desc) > 0 {
corrections = append(corrections,
&models.Correction{
Msg: msg,
F: func() error {
return n.generateRecords(dc)
},
})
}
return corrections, nil
_, create, delete, modify, err = differ.IncrementalDiff(actual)
} else {
differ := diff.NewCompat(dc)
_, create, delete, modify, err = differ.IncrementalDiff(actual)
}
if err != nil {
return nil, err
}
// Insert Future diff2 version here.
// // because namecheap doesn't have selective create, delete, modify,
// // we bundle them all up to send at once. We *do* want to see the
// // changes though
var desc []string
for _, i := range create {
desc = append(desc, "\n"+i.String())
}
for _, i := range delete {
desc = append(desc, "\n"+i.String())
}
for _, i := range modify {
desc = append(desc, "\n"+i.String())
}
msg := fmt.Sprintf("GENERATE_ZONE: %s (%d records)%s", dc.Name, len(dc.Records), desc)
var corrections []*models.Correction
// only create corrections if there are changes
if len(desc) > 0 {
corrections = append(corrections,
&models.Correction{
Msg: msg,
F: func() error {
return n.generateRecords(dc)
},
})
}
return corrections, nil
}