1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
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
}
|