(cli *cli)
| 610 | } |
| 611 | |
| 612 | func showDeliveryCmd(cli *cli) *cobra.Command { |
| 613 | var inputs struct { |
| 614 | StreamID string |
| 615 | DeliveryID string |
| 616 | } |
| 617 | |
| 618 | cmd := &cobra.Command{ |
| 619 | Use: "show [stream-id] [delivery-id]", |
| 620 | Args: cobra.MaximumNArgs(2), |
| 621 | Short: "Show details for a specific delivery", |
| 622 | Long: "Displays metadata, attempts, and event payload for a specific \n" + |
| 623 | "delivery associated with an event stream. \n" + |
| 624 | "If stream ID or delivery ID is not provided, you will be " + |
| 625 | "prompted to select them interactively.", |
| 626 | Example: ` auth0 event-streams deliveries show |
| 627 | auth0 event-streams deliveries show <stream-id> |
| 628 | auth0 event-streams deliveries show <stream-id> <delivery-id>`, |
| 629 | RunE: func(cmd *cobra.Command, args []string) error { |
| 630 | if len(args) >= 1 { |
| 631 | inputs.StreamID = args[0] |
| 632 | } |
| 633 | if len(args) == 2 { |
| 634 | inputs.DeliveryID = args[1] |
| 635 | } |
| 636 | |
| 637 | if inputs.StreamID == "" { |
| 638 | if err := eventStreamID.Pick(cmd, &inputs.StreamID, cli.eventStreamPickerOptions); err != nil { |
| 639 | return err |
| 640 | } |
| 641 | } |
| 642 | |
| 643 | if inputs.DeliveryID == "" { |
| 644 | deliveries, err := fetchRecentDeliveries(cmd, cli, inputs.StreamID) |
| 645 | if err != nil { |
| 646 | return fmt.Errorf("failed to retrieve deliveries: %w", err) |
| 647 | } |
| 648 | if len(deliveries) == 0 { |
| 649 | return fmt.Errorf("no deliveries found for stream %q", inputs.StreamID) |
| 650 | } |
| 651 | |
| 652 | currentIndex := auth0.Int(0) |
| 653 | selectedDelivery := cli.renderer.EventDeliveryPrompt(deliveries, currentIndex) |
| 654 | inputs.DeliveryID = selectedDelivery.GetID() |
| 655 | } |
| 656 | |
| 657 | var delivery *management.EventDelivery |
| 658 | if err := ansi.Waiting(func() (err error) { |
| 659 | delivery, err = cli.api.EventStream.ReadDelivery(cmd.Context(), inputs.StreamID, inputs.DeliveryID) |
| 660 | return err |
| 661 | }); err != nil { |
| 662 | return fmt.Errorf("failed to fetch delivery %q for stream %q: %w", inputs.DeliveryID, inputs.StreamID, err) |
| 663 | } |
| 664 | |
| 665 | cli.renderer.ShowDelivery(delivery) |
| 666 | return nil |
| 667 | }, |
| 668 | } |
| 669 |
no test coverage detected