summaryrefslogtreecommitdiff
path: root/errorBox.go
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2024-01-07 11:23:51 -0600
committerJeff Carr <[email protected]>2024-01-07 11:23:51 -0600
commit937f77b3558702a2e0ff76fbb1a8ef91242302c8 (patch)
treeb87f038e9605ea345faaf5cde6fc73ca0c3f4e29 /errorBox.go
parentef6eb7a96aa4aee7c16ba5e7320bde4ffd79acc0 (diff)
delete works
Signed-off-by: Jeff Carr <[email protected]>
Diffstat (limited to 'errorBox.go')
-rw-r--r--errorBox.go31
1 files changed, 27 insertions, 4 deletions
diff --git a/errorBox.go b/errorBox.go
index 0353393..638e84c 100644
--- a/errorBox.go
+++ b/errorBox.go
@@ -27,7 +27,7 @@ type errorBox struct {
type anError struct {
kind string // what kind of error is it?
- ip string
+ aaaa string
status string
kindLabel *gui.Node
@@ -62,20 +62,43 @@ func (eb *errorBox) add(kind string, ip string) bool {
anErr := new(anError)
anErr.kind = kind
+ anErr.aaaa = ip
anErr.kindLabel = eb.grid.NewLabel(kind)
anErr.ipLabel = eb.grid.NewLabel(ip)
anErr.statusLabel = eb.grid.NewLabel("")
anErr.button = eb.grid.NewButton(kind, func() {
log.Log(WARN, "got", kind, "here. IP =", ip)
- eb.fix(kind, ip)
+ eb.fix(tmp)
})
eb.fixes[tmp] = anErr
return false
}
-func (eb *errorBox) fix(name string, ip string) bool {
- log.Log(WARN, "should try to fix", name, "here. IP =", ip)
+func (eb *errorBox) fix(key string) bool {
+ if eb.fixes[key] == nil {
+ log.Log(WARN, "Unknown error. could not find key =", key)
+ log.Log(WARN, "TODO: probably remove this error. key =", key)
+ return true
+ }
+ myErr := eb.fixes[key]
+ log.Log(WARN, "should try to fix", myErr.kind, "here. IP =", myErr.aaaa)
+ if myErr.kind == "DELETE" {
+ if deleteFromDNS(myErr.aaaa) {
+ log.Log(INFO, "Delete AAAA", myErr.aaaa, "Worked")
+ } else {
+ log.Log(INFO, "Delete AAAA", myErr.aaaa, "Failed")
+ }
+ return true
+ }
+ if myErr.kind == "CREATE" {
+ if addToDNS(myErr.aaaa) {
+ log.Log(INFO, "Delete AAAA", myErr.aaaa, "Worked")
+ } else {
+ log.Log(INFO, "Delete AAAA", myErr.aaaa, "Failed")
+ }
+ return true
+ }
return false
}