diff --git a/src/client/cmdLogin/login.go b/src/client/cmdLogin/login.go index 3cfc7215e76d1a99b897ed7ca20de08ce1e15b7f..7f3de35e3904e69482863225719cf59bb0054d5f 100644 --- a/src/client/cmdLogin/login.go +++ b/src/client/cmdLogin/login.go @@ -42,14 +42,14 @@ func (cmd *Login) Run(args []string) int { bytePwd, err := term.ReadPassword(int(syscall.Stdin)) u.PrintlnErr("") if err != nil { - u.PrintlnErr(err.Error()) + u.PrintlnErr(err) return 1 } pwd := string(bytePwd) token, err := login.GetToken(email, pwd) if err != nil { - u.PrintlnErr("Error: " + err.Error()) + u.PrintlnErr(err) return 1 } diff --git a/src/client/cmdTemplate/templateCreate.go b/src/client/cmdTemplate/templateCreate.go index 191a63f67651221ef69389fbc6c5234a4639dcfb..3af2fd8f2a505a626cc14dc3d48a80ec0e15a811 100644 --- a/src/client/cmdTemplate/templateCreate.go +++ b/src/client/cmdTemplate/templateCreate.go @@ -49,16 +49,16 @@ func (cmd *Create) Run(args []string) int { template, err := libclient.TemplateCreate(vmID, name, access) if err != nil { - u.PrintlnErr("Error: " + err.Error()) + u.PrintlnErr(err) return 1 } templateStr, err := template.String() if err != nil { - u.PrintlnErr("Error: " + err.Error()) + u.PrintlnErr(err) return 1 } + u.Println("Template successfully created:") u.Println(templateStr) - return 0 } diff --git a/src/client/cmdTemplate/templateDel.go b/src/client/cmdTemplate/templateDel.go index bd399cf6abaefd48b69d10e88451e47f833e49f9..feb619ddfb71ac021a6587932b01b67b50e0e423 100644 --- a/src/client/cmdTemplate/templateDel.go +++ b/src/client/cmdTemplate/templateDel.go @@ -40,10 +40,10 @@ func (cmd *Del) Run(args []string) int { err := libclient.TemplateDel(tplID) if err != nil { - u.PrintlnErr("Failed deleting template \"" + tplID + "\": " + err.Error()) + u.PrintlnErr(err) return 1 } - u.Println("Template \"" + tplID + "\" deleted") + u.Println("Template \"" + tplID + "\" successfully deleted") return 0 } diff --git a/src/client/cmdTemplate/templateEdit.go b/src/client/cmdTemplate/templateEdit.go index 4ceb100f3d9007adb3030e3dfa19492f8eed49b5..1996d0ccf7195f4bb7ad632b0be10e906f9221e5 100644 --- a/src/client/cmdTemplate/templateEdit.go +++ b/src/client/cmdTemplate/templateEdit.go @@ -54,23 +54,20 @@ func (cmd *Edit) Run(args []string) int { } tplID := args[0] - statusCode := 0 - - resp, err := libclient.TemplateEdit(tplID, *p) + template, err := libclient.TemplateEdit(tplID, *p) if err != nil { - u.PrintlnErr("Failed editing template \"" + tplID + "\": " + err.Error()) - statusCode = 1 - } else { - if resp.IsSuccess() { - u.Println("Successfully edited template \"" + tplID + "\":") - u.Println(resp.String()) - } else { - u.PrintlnErr("Failed editing template \"" + tplID + "\": " + resp.Status() + ": " + resp.String()) - statusCode = 1 - } + u.PrintlnErr(err) + return 1 } - return statusCode + templateStr, err := template.String() + if err != nil { + u.PrintlnErr(err) + return 1 + } + u.Println("Template \"" + tplID + "\" successfully edited:") + u.Println(templateStr) + return 0 } func (cmd *Edit) parseArgs(args []string) (*params.TplEdit, error) { diff --git a/src/client/cmdTemplate/templateExportDisk.go b/src/client/cmdTemplate/templateExportDisk.go index 489cefe969efec1a6b0862026bd680abdc632361..3499413121dba672f1f47461734ff42c953fb175 100644 --- a/src/client/cmdTemplate/templateExportDisk.go +++ b/src/client/cmdTemplate/templateExportDisk.go @@ -41,23 +41,13 @@ func (cmd *ExportDisk) Run(args []string) int { tplID := args[0] outputFile := args[1] - statusCode := 0 - u.Println("Exporting disk from template \"" + tplID + "\" into " + outputFile + " ...") - resp, err := libclient.TemplateExportDisk(tplID, outputFile) + err := libclient.TemplateExportDisk(tplID, outputFile) if err != nil { - u.PrintlnErr("Failed: " + err.Error()) - statusCode = 1 - } else { - if resp.IsSuccess() { - u.Println("Successfully exported disk into " + outputFile) - } else { - errorMsg, _ := u.FileToString(outputFile) - u.PrintlnErr("Failed: " + resp.Status() + ": " + errorMsg) - statusCode = 1 - } + u.PrintlnErr(err) + return 1 } - - return statusCode + u.Println("Successfully exported template disk into " + outputFile) + return 0 } diff --git a/src/client/cmdTemplate/templateList.go b/src/client/cmdTemplate/templateList.go index 24522bd7df83e0b5c93c667b6c8dfaa25a297575..6941a14ce5606ad066e035db5d835f590b0db1a8 100644 --- a/src/client/cmdTemplate/templateList.go +++ b/src/client/cmdTemplate/templateList.go @@ -69,7 +69,7 @@ func (cmd *List) printFilteredTemplates(args []string, route string) int { templates, err := cmd.getFilteredTemplates(route, args) if err != nil { - u.PrintlnErr("Error: " + err.Error()) + u.PrintlnErr(err) return 1 } @@ -77,7 +77,7 @@ func (cmd *List) printFilteredTemplates(args []string, route string) int { for _, template := range templates { str, err := template.String() if err != nil { - u.PrintlnErr("Error: failed decoding template " + template.ID.String() + " to string. Skipped.") + u.PrintlnErr("Failed decoding template " + template.ID.String() + ". Template skipped.") } else { u.Println(str) } diff --git a/src/client/cmdTemplate/templateListSingle.go b/src/client/cmdTemplate/templateListSingle.go index aaed5209465e1419aa21284d134f6d728e79da9a..9b8275ecff93b23d651cb6c7571fa19300fc3bb8 100644 --- a/src/client/cmdTemplate/templateListSingle.go +++ b/src/client/cmdTemplate/templateListSingle.go @@ -35,19 +35,18 @@ func (cmd *ListSingle) Run(args []string) int { return 1 } - uuid := args[0] - template, err := libclient.GetTemplate(uuid) + tplID := args[0] + template, err := libclient.GetTemplate(tplID) if err != nil { - u.PrintlnErr("Error: " + err.Error()) + u.PrintlnErr(err) return 1 } - str, err := template.String() + templateStr, err := template.String() if err != nil { - u.PrintlnErr("Error: failed decoding template " + template.ID.String() + " to string.") - } else { - u.Println(str) + u.PrintlnErr(err) + return 1 } - + u.Println(templateStr) return 0 } diff --git a/src/libclient/template/templateEdit.go b/src/libclient/template/templateEdit.go index 83aebcc8e2222d75ec5eb1758083273ac54dd240..3fe5988db8a473e68c14410d1ddb7b4039083ee2 100644 --- a/src/libclient/template/templateEdit.go +++ b/src/libclient/template/templateEdit.go @@ -1,13 +1,14 @@ package template import ( + "encoding/json" + "errors" "nexus-common/params" + "nexus-common/template" g "nexus-libclient/globals" - - "github.com/go-resty/resty/v2" ) -func TemplateEdit(tplID string, p params.TplEdit) (*resty.Response, error) { +func TemplateEdit(tplID string, p params.TplEdit) (*template.TemplateSerialized, error) { client := g.GetInstance().Client host := g.GetInstance().Host @@ -15,6 +16,13 @@ func TemplateEdit(tplID string, p params.TplEdit) (*resty.Response, error) { if err != nil { return nil, err } - - return resp, nil + if resp.IsSuccess() { + var tpl template.TemplateSerialized + if err := json.Unmarshal(resp.Body(), &tpl); err != nil { + return nil, err + } + return &tpl, nil + } else { + return nil, errors.New(resp.Status() + ": " + resp.String()) + } } diff --git a/src/libclient/template/templateExportDisk.go b/src/libclient/template/templateExportDisk.go index 8d309891eaf27804bd4bf2c77921cded274e6cfb..31a0f7b6eb4cc09805803f98e8705b04a35c945d 100644 --- a/src/libclient/template/templateExportDisk.go +++ b/src/libclient/template/templateExportDisk.go @@ -1,19 +1,24 @@ package template import ( + "errors" + u "nexus-client/utils" g "nexus-libclient/globals" - - "github.com/go-resty/resty/v2" ) -func TemplateExportDisk(tplID, outputFile string) (*resty.Response, error) { +func TemplateExportDisk(tplID, outputFile string) error { client := g.GetInstance().Client host := g.GetInstance().Host resp, err := client.R().SetOutput(outputFile).Get(host + "/templates/" + tplID + "/disk") if err != nil { - return nil, err + return err + } else { + if resp.IsSuccess() { + return nil + } else { + errorMsg, _ := u.FileToString(outputFile) + return errors.New("Failed: " + resp.Status() + ": " + errorMsg) + } } - - return resp, nil } diff --git a/src/libclient/user/userCreate.go b/src/libclient/user/userCreate.go index 8acd519f661e2fd342ec7b4e833fbc7fe6005b9a..616aaa46c7c861669c2cad80741a1a145c77751f 100644 --- a/src/libclient/user/userCreate.go +++ b/src/libclient/user/userCreate.go @@ -12,7 +12,7 @@ func UserCreate(p params.UserWithPwd) error { resp, err := client.R().SetBody(p).Post(host + "/users") if err != nil { - return errors.New("Error: " + err.Error()) + return err } if resp.IsSuccess() {