From 6f6e179c49ea728c4925be7fb3bf1f4e9928d250 Mon Sep 17 00:00:00 2001 From: Arun Date: Fri, 29 Sep 2023 11:54:14 -0700 Subject: [PATCH] Move field value flag and clear flag exclusivity one level higher up to RunE --- pkg/cmd/project/item-edit/item_edit.go | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/pkg/cmd/project/item-edit/item_edit.go b/pkg/cmd/project/item-edit/item_edit.go index d76152b24..8ac2a8f1b 100644 --- a/pkg/cmd/project/item-edit/item_edit.go +++ b/pkg/cmd/project/item-edit/item_edit.go @@ -83,6 +83,14 @@ func NewCmdEditItem(f *cmdutil.Factory, runF func(config editItemConfig) error) return err } + if err := cmdutil.MutuallyExclusive( + "cannot use `--text`, `--number`, `--date`, `--single-select-option-id` or `--iteration-id` in conjunction with `--clear`", + opts.text != "" || opts.number != 0 || opts.date != "" || opts.singleSelectOptionID != "" || opts.iterationID != "", + opts.clear, + ); err != nil { + return err + } + client, err := client.New(f) if err != nil { return err @@ -135,9 +143,6 @@ func runEditItem(config editItemConfig) error { // TODO: offer to fetch interactively return cmdutil.FlagErrorf("project-id must be provided for use with the clear flag") } - if config.opts.text != "" || config.opts.number != 0 || config.opts.date != "" || config.opts.singleSelectOptionID != "" || config.opts.iterationID != "" { - return cmdutil.FlagErrorf("cannot use this flag in conjunction with clear") - } query, variables := buildClearItem(config) err := config.client.Mutate("ClearItemFieldValue", query, variables) if err != nil {