diff options
Diffstat (limited to 'internal/askcli/command_delete.go')
| -rw-r--r-- | internal/askcli/command_delete.go | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/internal/askcli/command_delete.go b/internal/askcli/command_delete.go new file mode 100644 index 0000000..1da0498 --- /dev/null +++ b/internal/askcli/command_delete.go @@ -0,0 +1,26 @@ +package askcli + +import ( + "bytes" + "context" + "io" +) + +func (d Dispatcher) handleDelete(ctx context.Context, args []string, stdout, stderr io.Writer) (int, error) { + if len(args) < 2 { + io.WriteString(stderr, "error: ask delete requires a UUID argument\n") + return 1, nil + } + uuid := args[1] + if IsNumericID(uuid) { + io.WriteString(stderr, RejectNumericID()) + return 1, nil + } + var outBuf bytes.Buffer + code, err := d.runner.Run(ctx, []string{"delete", uuid}, nil, &outBuf, io.Discard) + if code != 0 { + return code, err + } + io.WriteString(stdout, FormatSuccess(uuid)) + return 0, nil +} |
