Select Git revision
Forked from
orestis.malaspin / math_tech_info
Source project has a limited visibility.
templateDel.go 1.30 KiB
package cmdTemplate
import (
u "nexus-client/utils"
g "nexus-client/globals"
)
type Del struct {
Name string
}
func (cmd *Del)GetName() string {
return cmd.Name
}
func (cmd *Del)GetDesc() []string {
return []string{
"Deletes one or more templates (regex).",
"Requires TPL_DESTROY or TPL_DESTROY_ANY user capabilities."}
}
func (cmd *Del)PrintUsage() {
printUsage(cmd, "deleted")
}
func (cmd *Del)Run(args []string) int {
client := g.GetInstance().Client
host := g.GetInstance().Host
argc := len(args)
if argc < 1 {
cmd.PrintUsage()
return 1
}
templates, err := getFilteredTemplates("/templates", args)
if err != nil {
u.PrintlnErr(err.Error())
return 1
}
if len(templates) == 0 {
u.PrintlnErr("No templates to delete!")
return 1
}
statusCode := 0
for _, template := range(templates) {
uuid := template.ID.String()
resp, err := client.R().Delete(host+"/templates/"+uuid)
if err != nil {
u.PrintlnErr("Failed deleting template \""+template.Name+"\" | "+uuid+" : "+err.Error())
statusCode = 1
} else {
if resp.IsSuccess() {
u.Println("Deleted template \""+template.Name+"\" | "+uuid)
} else {
u.PrintlnErr("Failed deleting template \""+template.Name+"\" | "+uuid+" : "+resp.Status()+": "+resp.String())
statusCode = 1
}
}
}
return statusCode
}