diff options
| author | s <[email protected]> | 2025-11-13 14:43:15 -0500 |
|---|---|---|
| committer | s <[email protected]> | 2025-11-13 14:43:15 -0500 |
| commit | 344a6f6415c3c1b593677adec3b8844e0839971b (patch) | |
| tree | b05291ecdf21917b27e9e234eeb997c2706966d5 /internal/formatter/dns.go | |
| parent | a5fc01a03753c9a18ddeaf13610dd99b4b311b80 (diff) | |
| download | dborg-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.go | 57 |
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 +} |
