summaryrefslogtreecommitdiffstats
path: root/internal/formatter/dns.go
diff options
context:
space:
mode:
authors <[email protected]>2025-11-13 14:43:15 -0500
committers <[email protected]>2025-11-13 14:43:15 -0500
commit344a6f6415c3c1b593677adec3b8844e0839971b (patch)
treeb05291ecdf21917b27e9e234eeb997c2706966d5 /internal/formatter/dns.go
parenta5fc01a03753c9a18ddeaf13610dd99b4b311b80 (diff)
downloaddborg-344a6f6415c3c1b593677adec3b8844e0839971b.tar.gz
dborg-344a6f6415c3c1b593677adec3b8844e0839971b.zip
created pretty printing for all commandsv1.0.0
Diffstat (limited to 'internal/formatter/dns.go')
-rw-r--r--internal/formatter/dns.go57
1 files changed, 57 insertions, 0 deletions
diff --git a/internal/formatter/dns.go b/internal/formatter/dns.go
new file mode 100644
index 0000000..6abd5b0
--- /dev/null
+++ b/internal/formatter/dns.go
@@ -0,0 +1,57 @@
+package formatter
+
+import (
+ "encoding/json"
+ "fmt"
+ "strings"
+
+ "git.db.org.ai/dborg/internal/models"
+)
+
+func FormatDNSResults(result *models.DomainResult, asJSON bool) (string, error) {
+ if asJSON {
+ data, err := json.Marshal(result)
+ if err != nil {
+ return "", fmt.Errorf("failed to marshal JSON: %w", err)
+ }
+ return string(data), nil
+ }
+
+ var sb strings.Builder
+
+ sb.WriteString("\n")
+
+ domainColor := result.Domain
+ if result.Status == "ACTIVE" {
+ domainColor = Green(result.Domain)
+ } else if result.Status == "INACTIVE" {
+ domainColor = Red(result.Domain)
+ } else {
+ domainColor = Yellow(result.Domain)
+ }
+
+ sb.WriteString(fmt.Sprintf("%s %s\n", Cyan("Domain:"), Bold(domainColor)))
+
+ statusIndicator := StatusPending
+ if result.Status == "ACTIVE" {
+ statusIndicator = StatusSuccess
+ } else if result.Status == "INACTIVE" {
+ statusIndicator = StatusError
+ } else {
+ statusIndicator = StatusWarning
+ }
+ sb.WriteString(fmt.Sprintf("%s %s %s\n", Cyan("Status:"), statusIndicator.String(), result.Status))
+
+ if result.Title != "" {
+ sb.WriteString(fmt.Sprintf("%s %s\n", Cyan("Title:"), result.Title))
+ }
+
+ if len(result.Tech) > 0 {
+ sb.WriteString(fmt.Sprintf("%s\n", Cyan("Tech Stack:")))
+ for _, tech := range result.Tech {
+ sb.WriteString(fmt.Sprintf(" %s %s\n", Dim("•"), Green(tech)))
+ }
+ }
+
+ return sb.String(), nil
+}