diff options
| author | Jeff Carr <[email protected]> | 2023-12-21 09:39:33 -0600 |
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2023-12-21 09:39:33 -0600 |
| commit | f5c1a3db05e7bfd4051047356fbcdf70dfa701c5 (patch) | |
| tree | a9de806c2d6de3f1106d7d8f586e70d39a0c6575 /cloudflare/loadZoneWindow.go | |
| parent | 1b32ded4dc53175a975f330cdc11fc5dcb09680a (diff) | |
move code into the cloudflare package
Diffstat (limited to 'cloudflare/loadZoneWindow.go')
| -rw-r--r-- | cloudflare/loadZoneWindow.go | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/cloudflare/loadZoneWindow.go b/cloudflare/loadZoneWindow.go new file mode 100644 index 0000000..71fc2d3 --- /dev/null +++ b/cloudflare/loadZoneWindow.go @@ -0,0 +1,91 @@ +// This is a simple example +package cloudflare + +import ( + "log" + "strconv" + + "go.wit.com/gui" +) + +func LoadZoneWindow(n *gui.Node, c *ConfigT) { + hostname := c.Domain + zoneID := c.ZoneID + log.Println("adding DNS record", hostname) + + newt := n.NewTab(hostname) + vb := newt.NewBox("vBox", false) + newg := vb.NewGroup("more zoneID = " + zoneID) + + // make a grid 6 things wide + grid := newg.NewGrid("gridnuts", 6, 1) + +// grid.NewButton("Type", func () { +// log.Println("sort by Type") +// }) + grid.NewLabel("RR type") + grid.NewLabel("hostname") + + grid.NewLabel("Proxy") + grid.NewLabel("TTL") + grid.NewLabel("Value") + grid.NewLabel("Save") + + records := GetZonefile(c) + for _, record := range records.Result { + var rr RRT // dns zonefile resource record + + // copy all the JSON values into the row record. + rr.ID = record.ID + rr.Type = record.Type + rr.Name = record.Name + rr.Content = record.Content + rr.Proxied = record.Proxied + rr.Proxiable = record.Proxiable + rr.ZoneID = zoneID + // rr.Ttl = record.TTL + + rr.Domain = hostname + rr.ZoneID = zoneID + rr.Auth = c.Auth + rr.Email = c.Email + + grid.NewLabel(record.Type) + grid.NewLabel(record.Name) + + proxy := grid.NewLabel("proxy") + if (record.Proxied) { + proxy.SetText("On") + } else { + proxy.SetText("Off") + } + + var ttl string + if (record.TTL == 1) { + ttl = "Auto" + } else { + ttl = strconv.Itoa(record.TTL) + } + grid.NewLabel(ttl) + + val := grid.NewLabel("Value") + val.SetText(record.Content) + + load := grid.NewButton("Load", nil) + load.Custom = func () { + name := "save stuff to cloudflare for " + rr.ID + log.Println(name) + + /* + rr.Domain = domainWidget.S + rr.ZoneID = zoneWidget.S + rr.Auth = authWidget.S + rr.Email = emailWidget.S + */ + + SetRow(&rr) + } + } + + grid.Pad() +} |
