From afc5f5ca95b3ef33be645861d35349505dc44e45 Mon Sep 17 00:00:00 2001 From: Andrey Markelov Date: Thu, 9 Jul 2026 20:19:33 -0700 Subject: [PATCH] Migrate share-link create/update dry-run to renderOperation Route renderShareLinkCreateDryRunOutput and renderShareLinkUpdateDryRunOutput through the shared renderOperation helper, dropping the duplicated commandOutput/newJSONCommandOperationOutput glue. These commands use shareLinkJSONMetadata and a dedicated result-input struct rather than jsonMetadata, so they confirm renderOperation generalizes beyond the mkdir/restore shape. Output is unchanged; the share-link dry-run JSON tests and the cross-command contract tests pass. --- cmd/share_link_create.go | 9 +++++---- cmd/share_link_update.go | 9 +++++---- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/cmd/share_link_create.go b/cmd/share_link_create.go index e204e7f..bb22e2b 100644 --- a/cmd/share_link_create.go +++ b/cmd/share_link_create.go @@ -245,14 +245,15 @@ func plannedShareLinkCreateMetadata(path string) shareLinkJSONMetadata { func renderShareLinkCreateDryRunOutput(cmd *cobra.Command, path string, opts shareLinkCreateOptions) error { result := plannedShareLinkCreateMetadata(path) - return commandOutput(cmd).Render(func(w io.Writer) error { - return writeDryRunLine(w, "create shared link", path) - }, newJSONCommandOperationOutput( + return renderOperation( cmd, newShareLinkCreateInput(path, opts), []jsonOperationResult{shareLinkCreateOperationResult(shareLinkJSONStatusCreated, result, opts)}, nil, - )) + func(w io.Writer) error { + return writeDryRunLine(w, "create shared link", path) + }, + ) } func applyExistingSharedLinkCreateOptions(dbx sharedLinkClient, link sharing.IsSharedLinkMetadata, opts shareLinkCreateOptions) (sharing.IsSharedLinkMetadata, error) { diff --git a/cmd/share_link_update.go b/cmd/share_link_update.go index 7bf842c..e6e58cf 100644 --- a/cmd/share_link_update.go +++ b/cmd/share_link_update.go @@ -279,14 +279,15 @@ func plannedShareLinkUpdateMetadata(url string) shareLinkJSONMetadata { func renderShareLinkUpdateDryRunOutput(cmd *cobra.Command, url string, opts shareLinkUpdateOptions) error { result := plannedShareLinkUpdateMetadata(url) - return commandOutput(cmd).Render(func(w io.Writer) error { - return writeDryRunLine(w, "update shared link", url) - }, newJSONCommandOperationOutput( + return renderOperation( cmd, newShareLinkUpdateInput(url, opts), []jsonOperationResult{shareLinkUpdateOperationResult(shareLinkJSONStatusUpdated, result, opts)}, nil, - )) + func(w io.Writer) error { + return writeDryRunLine(w, "update shared link", url) + }, + ) } var shareLinkUpdateCmd = &cobra.Command{