From 6758a1cd50ebf5f1d17a69eb98aeb95abe3969fd Mon Sep 17 00:00:00 2001 From: Bryan Frimin Date: Mon, 22 Jun 2026 10:59:39 +0200 Subject: [PATCH] Move alias CLI under a resource-alias command Promote the trust-center alias subcommand to a top-level resource-alias command so aliases can be managed for any resource from the CLI. Signed-off-by: Bryan Frimin --- .../alias => resource-alias}/remove/remove.go | 6 ++-- .../resource_alias.go} | 13 ++++---- .../alias => resource-alias}/set/set.go | 30 +++++++++---------- pkg/cmd/root/root.go | 2 ++ pkg/cmd/trust-center/trust_center.go | 2 -- 5 files changed, 27 insertions(+), 26 deletions(-) rename pkg/cmd/{trust-center/alias => resource-alias}/remove/remove.go (94%) rename pkg/cmd/{trust-center/alias/alias.go => resource-alias/resource_alias.go} (77%) rename pkg/cmd/{trust-center/alias => resource-alias}/set/set.go (81%) diff --git a/pkg/cmd/trust-center/alias/remove/remove.go b/pkg/cmd/resource-alias/remove/remove.go similarity index 94% rename from pkg/cmd/trust-center/alias/remove/remove.go rename to pkg/cmd/resource-alias/remove/remove.go index 4f6a6ccb6..4c5ec606f 100644 --- a/pkg/cmd/trust-center/alias/remove/remove.go +++ b/pkg/cmd/resource-alias/remove/remove.go @@ -24,8 +24,8 @@ import ( ) const removeMutation = ` -mutation($input: RemoveTrustCenterAliasInput!) { - removeTrustCenterAlias(input: $input) { +mutation($input: RemoveResourceAliasInput!) { + removeResourceAlias(input: $input) { deletedResourceId } } @@ -36,7 +36,7 @@ func NewCmdRemove(f *cmdutil.Factory) *cobra.Command { cmd := &cobra.Command{ Use: "remove ", - Short: "Remove a trust center alias", + Short: "Remove a resource alias", Args: cobra.ExactArgs(1), RunE: func(cmd *cobra.Command, args []string) error { if !flagYes { diff --git a/pkg/cmd/trust-center/alias/alias.go b/pkg/cmd/resource-alias/resource_alias.go similarity index 77% rename from pkg/cmd/trust-center/alias/alias.go rename to pkg/cmd/resource-alias/resource_alias.go index f3de10a43..92090b9c8 100644 --- a/pkg/cmd/trust-center/alias/alias.go +++ b/pkg/cmd/resource-alias/resource_alias.go @@ -12,19 +12,20 @@ // OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR // PERFORMANCE OF THIS SOFTWARE. -package alias +package resourcealias import ( "github.com/spf13/cobra" "go.probo.inc/probo/pkg/cmd/cmdutil" - "go.probo.inc/probo/pkg/cmd/trust-center/alias/remove" - "go.probo.inc/probo/pkg/cmd/trust-center/alias/set" + "go.probo.inc/probo/pkg/cmd/resource-alias/remove" + "go.probo.inc/probo/pkg/cmd/resource-alias/set" ) -func NewCmdAlias(f *cmdutil.Factory) *cobra.Command { +func NewCmdResourceAlias(f *cmdutil.Factory) *cobra.Command { cmd := &cobra.Command{ - Use: "alias ", - Short: "Manage trust center aliases", + Use: "resource-alias ", + Short: "Manage resource aliases", + Aliases: []string{"ra"}, } cmd.AddCommand(set.NewCmdSet(f)) diff --git a/pkg/cmd/trust-center/alias/set/set.go b/pkg/cmd/resource-alias/set/set.go similarity index 81% rename from pkg/cmd/trust-center/alias/set/set.go rename to pkg/cmd/resource-alias/set/set.go index f81b9378b..89ea29e82 100644 --- a/pkg/cmd/trust-center/alias/set/set.go +++ b/pkg/cmd/resource-alias/set/set.go @@ -25,9 +25,9 @@ import ( ) const setMutation = ` -mutation($input: SetTrustCenterAliasInput!) { - setTrustCenterAlias(input: $input) { - alias { +mutation($input: SetResourceAliasInput!) { + setResourceAlias(input: $input) { + resourceAlias { resourceId alias } @@ -36,12 +36,12 @@ mutation($input: SetTrustCenterAliasInput!) { ` type setResponse struct { - SetTrustCenterAlias struct { - Alias struct { - ResourceID string `json:"resourceId"` - Alias string `json:"alias"` - } `json:"alias"` - } `json:"setTrustCenterAlias"` + SetResourceAlias struct { + ResourceAlias struct { + ResourceID string `json:"resourceId"` + Alias string `json:"alias"` + } `json:"resourceAlias"` + } `json:"setResourceAlias"` } func NewCmdSet(f *cmdutil.Factory) *cobra.Command { @@ -52,12 +52,12 @@ func NewCmdSet(f *cmdutil.Factory) *cobra.Command { cmd := &cobra.Command{ Use: "set", - Short: "Set a trust center alias", + Short: "Set a resource alias", Example: ` # Set an alias interactively - prb trust-center alias set --resource-id prbdoc_... + prb resource-alias set --resource-id prbdoc_... # Set an alias non-interactively - prb trust-center alias set --resource-id prbdoc_... --alias privacy-policy`, + prb resource-alias set --resource-id prbdoc_... --alias privacy-policy`, RunE: func(cmd *cobra.Command, args []string) error { cfg, err := f.Config() if err != nil { @@ -80,7 +80,7 @@ func NewCmdSet(f *cmdutil.Factory) *cobra.Command { if f.IOStreams.IsInteractive() { if flagResourceID == "" { err := huh.NewInput(). - Title("Resource ID (document, file, or audit)"). + Title("Resource ID"). Value(&flagResourceID). Run() if err != nil { @@ -125,7 +125,7 @@ func NewCmdSet(f *cmdutil.Factory) *cobra.Command { return fmt.Errorf("cannot parse response: %w", err) } - a := resp.SetTrustCenterAlias.Alias + a := resp.SetResourceAlias.ResourceAlias _, _ = fmt.Fprintf( f.IOStreams.Out, "Set alias %q for resource %s\n", @@ -137,7 +137,7 @@ func NewCmdSet(f *cmdutil.Factory) *cobra.Command { }, } - cmd.Flags().StringVar(&flagResourceID, "resource-id", "", "Document, trust center file, or audit ID") + cmd.Flags().StringVar(&flagResourceID, "resource-id", "", "ID of the resource to alias") cmd.Flags().StringVar(&flagAlias, "alias", "", "Human-readable alias slug") return cmd diff --git a/pkg/cmd/root/root.go b/pkg/cmd/root/root.go index d4309997a..207795074 100644 --- a/pkg/cmd/root/root.go +++ b/pkg/cmd/root/root.go @@ -41,6 +41,7 @@ import ( "go.probo.inc/probo/pkg/cmd/obligation" "go.probo.inc/probo/pkg/cmd/org" processingactivity "go.probo.inc/probo/pkg/cmd/processing-activity" + resourcealias "go.probo.inc/probo/pkg/cmd/resource-alias" rightsrequest "go.probo.inc/probo/pkg/cmd/rights-request" "go.probo.inc/probo/pkg/cmd/risk" riskassessment "go.probo.inc/probo/pkg/cmd/risk-assessment" @@ -118,6 +119,7 @@ func NewCmdRoot(f *cmdutil.Factory) *cobra.Command { cmd.AddCommand(rightsrequest.NewCmdRightsRequest(f)) cmd.AddCommand(risk.NewCmdRisk(f)) cmd.AddCommand(riskassessment.NewCmdRiskAssessment(f)) + cmd.AddCommand(resourcealias.NewCmdResourceAlias(f)) cmd.AddCommand(scim.NewCmdScim(f)) cmd.AddCommand(soa.NewCmdSoa(f)) cmd.AddCommand(task.NewCmdTask(f)) diff --git a/pkg/cmd/trust-center/trust_center.go b/pkg/cmd/trust-center/trust_center.go index d66b983d6..681c9fe4b 100644 --- a/pkg/cmd/trust-center/trust_center.go +++ b/pkg/cmd/trust-center/trust_center.go @@ -17,7 +17,6 @@ package trustcenter import ( "github.com/spf13/cobra" "go.probo.inc/probo/pkg/cmd/cmdutil" - "go.probo.inc/probo/pkg/cmd/trust-center/alias" "go.probo.inc/probo/pkg/cmd/trust-center/file" "go.probo.inc/probo/pkg/cmd/trust-center/reference" "go.probo.inc/probo/pkg/cmd/trust-center/update" @@ -34,7 +33,6 @@ func NewCmdTrustCenter(f *cmdutil.Factory) *cobra.Command { cmd.AddCommand(view.NewCmdView(f)) cmd.AddCommand(update.NewCmdUpdate(f)) cmd.AddCommand(reference.NewCmdReference(f)) - cmd.AddCommand(alias.NewCmdAlias(f)) cmd.AddCommand(file.NewCmdFile(f)) return cmd