Skip to content
Snippets Groups Projects
Select Git revision
  • main default protected
  • 197-message-re-router
  • 197-message-re-router-2
  • 198-improve-process-complete-and-fatal-error-listeners-in-the-client
  • transform
  • pauseSvcTask
  • headersTst
  • 191-generic-nats-kv-indexer
  • useer-tasks
  • addPauseResumeWfNotifications
  • intTestBackoff
  • 189-revisit-gatewayabort-subject-name-and-processing-2
  • gob2msgpack-vars-change
  • release protected
  • branch-3
  • 181-configure-shutdown-behaviour-on-nats-connection-problems
  • client-nats-api-fix
  • fix-minimum-backoff
  • splitExpressionTest
  • 174-process-history-is-spool-deleted-before-execution-is-complete
  • v1.1.1566
  • v1.1.1563
  • v1.1.1547
  • v1.1.1538
  • v1.1.1535
  • v1.1.1532
  • v1.1.1507
  • v1.1.1503
  • v1.1.1500
  • v1.1.1492
  • v1.1.1484
  • v1.1.1481
  • v1.1.1479
  • v1.1.1460
  • v1.1.1443
  • v1.1.1442
  • v1.1.1441
  • v1.1.1409
  • v1.1.1404
  • v1.1.1380
40 results

cancel.go

Code owners
Assign users and groups as approvers for specific file changes. Learn more.
cancel.go 966 B
package cancel

import (
	"context"
	"fmt"
	"github.com/spf13/cobra"
	"gitlab.com/shar-workflow/shar/cli/flag"
	"gitlab.com/shar-workflow/shar/cli/output"
	"gitlab.com/shar-workflow/shar/cli/util"
)

// Cmd is the cobra command object
var Cmd = &cobra.Command{
	Use:   "cancel",
	Short: "Cancel a process instance",
	Long:  ``,
	RunE:  run,
	Args:  cobra.MatchAll(cobra.ExactArgs(1), cobra.OnlyValidArgs),
}

func run(cmd *cobra.Command, args []string) error {
	if err := cmd.ValidateArgs(args); err != nil {
		return fmt.Errorf("invalid arguments: %w", err)
	}
	ctx := context.Background()
	processInstanceID := args[0]

	shar := util.GetClient()
	if err := shar.Dial(ctx, flag.Value.Server); err != nil {
		return fmt.Errorf("dialling server: %w", err)
	}
	if err := shar.CancelProcessInstance(ctx, processInstanceID); err != nil {
		return fmt.Errorf("cancel execution: %w", err)
	}
	output.Current.OutputCancelledProcessInstance(processInstanceID)
	return nil
}