Skip to content
Snippets Groups Projects
Commit 2f2a1bdc authored by Florent Gluck's avatar Florent Gluck
Browse files

client: rework template code (libclient + client)

parent a5a9553b
No related branches found
No related tags found
No related merge requests found
......@@ -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
}
......
......@@ -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
}
......@@ -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
}
......@@ -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) {
......
......@@ -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
}
......@@ -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)
}
......
......@@ -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
}
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())
}
}
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
}
......@@ -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() {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment