From fbf66291edf78e28a142af1c57faba8d120b6193 Mon Sep 17 00:00:00 2001 From: Ben Jackson Date: Tue, 28 Feb 2023 14:03:46 +1100 Subject: [PATCH] fix: update metadata to use map for json response (#267) --- cmd/project.go | 15 ++++++++------- internal/schema/project.go | 2 +- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/cmd/project.go b/cmd/project.go index 7a382ea0..272e56bf 100644 --- a/cmd/project.go +++ b/cmd/project.go @@ -178,7 +178,8 @@ var listProjectByMetadata = &cobra.Command{ returnNonEmptyString(fmt.Sprintf("%v", project.Name)), } if showMetadata { - projectData = append(projectData, returnNonEmptyString(fmt.Sprintf("%v", project.Metadata))) + metaData, _ := json.Marshal(project.Metadata) + projectData = append(projectData, returnNonEmptyString(fmt.Sprintf("%v", string(metaData)))) } data = append(data, projectData) } @@ -225,14 +226,12 @@ var getProjectMetadata = &cobra.Command{ if err != nil { return err } - if project.Metadata == "{}" { + if len(project.Metadata) == 0 { output.RenderInfo(fmt.Sprintf("There is no metadata for project '%s'", cmdProjectName), outputOptions) return nil } - metadataResponse := map[string]string{} - json.Unmarshal([]byte(project.Metadata), &metadataResponse) data := []output.Data{} - for metaKey, metaVal := range metadataResponse { + for metaKey, metaVal := range project.Metadata { metadataData := []string{ returnNonEmptyString(fmt.Sprintf("%v", metaKey)), returnNonEmptyString(fmt.Sprintf("%v", metaVal)), @@ -291,10 +290,11 @@ var updateProjectMetadata = &cobra.Command{ return err } data := []output.Data{} + metaData, _ := json.Marshal(projectResult.Metadata) data = append(data, []string{ returnNonEmptyString(fmt.Sprintf("%v", projectResult.ID)), returnNonEmptyString(fmt.Sprintf("%v", projectResult.Name)), - returnNonEmptyString(fmt.Sprintf("%v", projectResult.Metadata)), + returnNonEmptyString(fmt.Sprintf("%v", string(metaData))), }) output.RenderOutput(output.Table{ Header: []string{ @@ -345,10 +345,11 @@ var deleteProjectMetadataByKey = &cobra.Command{ return err } data := []output.Data{} + metaData, _ := json.Marshal(projectResult.Metadata) data = append(data, []string{ returnNonEmptyString(fmt.Sprintf("%v", projectResult.ID)), returnNonEmptyString(fmt.Sprintf("%v", projectResult.Name)), - returnNonEmptyString(fmt.Sprintf("%v", projectResult.Metadata)), + returnNonEmptyString(fmt.Sprintf("%v", string(metaData))), }) output.RenderOutput(output.Table{ Header: []string{ diff --git a/internal/schema/project.go b/internal/schema/project.go index 5af8e390..b80038c8 100644 --- a/internal/schema/project.go +++ b/internal/schema/project.go @@ -88,5 +88,5 @@ type AddNotificationToProjectInput struct { // ProjectMetadata . type ProjectMetadata struct { Project - Metadata string `json:"metadata"` + Metadata map[string]string `json:"metadata"` }