MCPcopy Create free account
hub / github.com/auth0/auth0-cli / diffActionCmd

Function diffActionCmd

internal/cli/actions.go:529–609  ·  view source on GitHub ↗
(cli *cli)

Source from the content-addressed store, hash-verified

527}
528
529func diffActionCmd(cli *cli) *cobra.Command {
530 var inputs struct {
531 ID string
532 version1 int
533 version2 int
534 }
535
536 cmd := &cobra.Command{
537 Use: "diff [action-id]",
538 Short: "Show diff between two versions of an Actions",
539 Args: cobra.MaximumNArgs(1),
540 Long: "Show code difference between two versions of an Actions",
541 Example: `auth0 actions diff
542 auth0 actions diff <action-id>`,
543 RunE: func(cmd *cobra.Command, args []string) error {
544 ctx := context.Background()
545 if len(args) == 0 {
546 if err := actionID.Pick(cmd, &inputs.ID, cli.actionPickerOptions); err != nil {
547 return err
548 }
549 } else {
550 inputs.ID = args[0]
551 }
552
553 // Fetch all versions (paginate).
554 var allVersions []*management.ActionVersion
555 page := 0
556 perPage := 50
557 for {
558 queryParams := []management.RequestOption{
559 management.Parameter("page", fmt.Sprintf("%d", page)),
560 management.Parameter("per_page", fmt.Sprintf("%d", perPage)),
561 }
562
563 versionsResp, err := cli.api.Action.Versions(ctx, inputs.ID, queryParams...)
564 if err != nil {
565 return err
566 }
567
568 allVersions = append(allVersions, versionsResp.Versions...)
569
570 // Check if we've retrieved all available versions using the total count.
571 if len(allVersions) >= versionsResp.Total {
572 break
573 }
574 page++
575 }
576
577 var err error
578 inputs.version1, inputs.version2, err = pickTwoVersions(allVersions)
579 if err != nil {
580 return err
581 }
582
583 var code1, code2 string
584 for _, v := range allVersions {
585 if v.Number == inputs.version1 {
586 code1 = v.GetCode()

Callers 1

actionsCmdFunction · 0.85

Calls 5

pickTwoVersionsFunction · 0.85
printColorDiffFunction · 0.85
ErrorfMethod · 0.80
VersionsMethod · 0.65
PickMethod · 0.45

Tested by

no test coverage detected