in cmd/hub/api/template.go [30:97]
func Templates(selector string, showSecrets, showGitRemote, wildcardSecret, showGitStatus, jsonFormat bool) {
templates, err := templatesBy(selector)
if err != nil {
log.Fatalf("Unable to query for Template(s): %v", err)
}
if len(templates) == 0 {
if jsonFormat {
log.Print("No Templates")
} else {
fmt.Print("No Templates\n")
}
} else {
if jsonFormat {
var toMarshal interface{}
if len(templates) == 1 {
toMarshal = &templates[0]
} else {
toMarshal = templates
}
out, err := json.MarshalIndent(toMarshal, "", " ")
if err != nil {
log.Fatalf("Error marshalling JSON response for output: %v", err)
}
os.Stdout.Write(out)
os.Stdout.Write([]byte("\n"))
} else {
deploymentKey := ""
if showGitRemote {
if wildcardSecret {
key, err := userDeploymentKey("")
if err != nil {
log.Fatalf("Unable to retrieve deployment key: %v", err)
}
deploymentKey = key
}
} else {
fmt.Print("Templates:\n")
}
errors := make([]error, 0)
for _, template := range templates {
if showGitRemote {
if !wildcardSecret {
key, err := userDeploymentKey("git:" + template.Id)
if err != nil {
errors = append(errors, fmt.Errorf("Unable to retrieve deployment key: %v", err))
deploymentKey = "(error)"
} else {
deploymentKey = key
}
}
title := ""
if len(templates) > 1 {
title = fmt.Sprintf("%s [%s]: ", template.Name, template.Id)
}
fmt.Printf("%s%s\n", title, formatGitRemoteWithKey(template.GitRemote.Public, deploymentKey))
} else {
errors = formatTemplateEntity(&template, showSecrets, showGitStatus, errors)
}
}
if len(errors) > 0 {
fmt.Print("Errors encountered:\n")
for _, err := range errors {
fmt.Printf("\t%v\n", err)
}
}
}
}
}