package formatter import ( "encoding/json" "fmt" "git.db.org.ai/dborg/internal/models" "strings" ) func FormatGitHubLeads(lead *models.GitHubLead, jsonOutput bool) (string, error) { if jsonOutput { data, err := json.Marshal(lead) if err != nil { return "", fmt.Errorf("failed to marshal GitHub lead: %w", err) } return string(data), nil } var output strings.Builder output.WriteString(fmt.Sprintf("Name: %s\n", lead.Name)) output.WriteString(fmt.Sprintf("Email: %s\n", lead.Email)) output.WriteString(fmt.Sprintf("Username: %s\n", lead.Username)) if lead.Company != "" { output.WriteString(fmt.Sprintf("Company: %s\n", lead.Company)) } if lead.Location != "" { output.WriteString(fmt.Sprintf("Location: %s\n", lead.Location)) } if lead.Website != "" { output.WriteString(fmt.Sprintf("Website: %s\n", lead.Website)) } if lead.Twitter != "" { output.WriteString(fmt.Sprintf("Twitter: %s\n", lead.Twitter)) } if lead.PFP != "" { output.WriteString(fmt.Sprintf("Profile Picture: %s\n", lead.PFP)) } output.WriteString("---\n") return output.String(), nil }