From 3c279bba1d32f8525c79e7f00d0741d805bbece6 Mon Sep 17 00:00:00 2001 From: Jen Hamon Date: Thu, 2 May 2024 13:16:17 -0400 Subject: [PATCH] Group API key commands in help output --- internal/pkg/cli/command/project/cmd.go | 3 +++ internal/pkg/cli/command/project/create-key.go | 5 +++-- internal/pkg/cli/command/project/create.go | 5 +++-- internal/pkg/cli/command/project/delete.go | 1 + internal/pkg/cli/command/project/list-keys.go | 1 + internal/pkg/cli/command/project/list.go | 6 ++++-- internal/pkg/utils/help/groups.go | 10 ++++++++++ 7 files changed, 25 insertions(+), 6 deletions(-) diff --git a/internal/pkg/cli/command/project/cmd.go b/internal/pkg/cli/command/project/cmd.go index 3951321..674fd71 100644 --- a/internal/pkg/cli/command/project/cmd.go +++ b/internal/pkg/cli/command/project/cmd.go @@ -12,6 +12,9 @@ func NewProjectCmd() *cobra.Command { GroupID: help.GROUP_MANAGEMENT.ID, } + cmd.AddGroup(help.GROUP_PROJECTS_CRUD) + cmd.AddGroup(help.GROUP_PROJECTS_API_KEYS) + cmd.AddCommand(NewListProjectsCmd()) cmd.AddCommand(NewCreateProjectCmd()) cmd.AddCommand(NewDeleteProjectCmd()) diff --git a/internal/pkg/cli/command/project/create-key.go b/internal/pkg/cli/command/project/create-key.go index 7683b64..92d2f9e 100644 --- a/internal/pkg/cli/command/project/create-key.go +++ b/internal/pkg/cli/command/project/create-key.go @@ -21,8 +21,9 @@ func NewCreateApiKeyCmd() *cobra.Command { options := CreateApiKeyOptions{} cmd := &cobra.Command{ - Use: "create-key", - Short: "create an API key in a project", + Use: "create-key", + Short: "create an API key in a project", + GroupID: help.GROUP_PROJECTS_API_KEYS.ID, Example: help.Examples([]string{ "pinecone target -o \"my-org\" -p \"my-project\"", "pinecone create-key -n \"my-key\" --reveal", diff --git a/internal/pkg/cli/command/project/create.go b/internal/pkg/cli/command/project/create.go index a74999b..402a804 100644 --- a/internal/pkg/cli/command/project/create.go +++ b/internal/pkg/cli/command/project/create.go @@ -20,8 +20,9 @@ func NewCreateProjectCmd() *cobra.Command { options := CreateProjectCmdOptions{} cmd := &cobra.Command{ - Use: "create", - Short: "create a project in the target org", + Use: "create", + Short: "create a project in the target org", + GroupID: help.GROUP_PROJECTS_CRUD.ID, Example: help.Examples([]string{ "pinecone target -o \"my-org\"", "pinecone project create --name=\"demo\"", diff --git a/internal/pkg/cli/command/project/delete.go b/internal/pkg/cli/command/project/delete.go index 25ae4c2..e659477 100644 --- a/internal/pkg/cli/command/project/delete.go +++ b/internal/pkg/cli/command/project/delete.go @@ -35,6 +35,7 @@ func NewDeleteProjectCmd() *cobra.Command { "pinecone project delete --name=\"demo\"", "pinecone project delete --name=\"demo\" --yes", }), + GroupID: help.GROUP_PROJECTS_CRUD.ID, Run: func(cmd *cobra.Command, args []string) { orgId, err := getTargetOrgId() orgName := state.TargetOrg.Get().Name diff --git a/internal/pkg/cli/command/project/list-keys.go b/internal/pkg/cli/command/project/list-keys.go index 0460d5c..398e118 100644 --- a/internal/pkg/cli/command/project/list-keys.go +++ b/internal/pkg/cli/command/project/list-keys.go @@ -29,6 +29,7 @@ func NewListKeysCmd() *cobra.Command { "pinecone target -o \"my-org\" -p \"my-project\"", "pinecone list-keys --reveal", }), + GroupID: help.GROUP_PROJECTS_API_KEYS.ID, Run: func(cmd *cobra.Command, args []string) { projId, err := getTargetProjectId() if err != nil { diff --git a/internal/pkg/cli/command/project/list.go b/internal/pkg/cli/command/project/list.go index 727e4cd..4484313 100644 --- a/internal/pkg/cli/command/project/list.go +++ b/internal/pkg/cli/command/project/list.go @@ -8,6 +8,7 @@ import ( "github.com/pinecone-io/cli/internal/pkg/dashboard" "github.com/pinecone-io/cli/internal/pkg/utils/configuration/state" + "github.com/pinecone-io/cli/internal/pkg/utils/help" "github.com/pinecone-io/cli/internal/pkg/utils/style" "github.com/spf13/cobra" @@ -27,8 +28,9 @@ func NewListProjectsCmd() *cobra.Command { options := ListProjectCmdOptions{} cmd := &cobra.Command{ - Use: "list", - Short: "list projects in the target org", + Use: "list", + Short: "list projects in the target org", + GroupID: help.GROUP_PROJECTS_CRUD.ID, Run: func(cmd *cobra.Command, args []string) { orgs, err := dashboard.ListOrganizations() if err != nil { diff --git a/internal/pkg/utils/help/groups.go b/internal/pkg/utils/help/groups.go index 2a33109..6b16efa 100644 --- a/internal/pkg/utils/help/groups.go +++ b/internal/pkg/utils/help/groups.go @@ -20,4 +20,14 @@ var ( ID: "index", Title: style.Heading("Management Commands"), } + + GROUP_PROJECTS_API_KEYS = &cobra.Group{ + ID: "keys", + Title: style.Heading("API Key Management"), + } + + GROUP_PROJECTS_CRUD = &cobra.Group{ + ID: "projects", + Title: style.Heading("Project Management"), + } )