(deps commandDeps)
| 771 | } |
| 772 | |
| 773 | func newTaskNotificationSubscribeCommand(deps commandDeps) *cobra.Command { |
| 774 | input := taskNotificationSubscribeInput{} |
| 775 | cmd := &cobra.Command{ |
| 776 | Use: "subscribe <task-id>", |
| 777 | Short: "Subscribe a bridge target to task terminal notifications", |
| 778 | Args: exactOneNonBlankArg(), |
| 779 | RunE: func(cmd *cobra.Command, args []string) error { |
| 780 | client, err := clientFromDeps(deps) |
| 781 | if err != nil { |
| 782 | return err |
| 783 | } |
| 784 | request, err := buildTaskBridgeNotificationSubscriptionRequest(input) |
| 785 | if err != nil { |
| 786 | return err |
| 787 | } |
| 788 | subscription, err := client.CreateTaskBridgeNotificationSubscription( |
| 789 | cmd.Context(), |
| 790 | args[0], |
| 791 | request, |
| 792 | ) |
| 793 | if err != nil { |
| 794 | return err |
| 795 | } |
| 796 | return writeCommandOutput(cmd, taskBridgeNotificationSubscriptionBundle(&subscription)) |
| 797 | }, |
| 798 | } |
| 799 | cmd.Flags(). |
| 800 | StringVar(&input.SubscriptionID, "subscription-id", "", "Idempotent subscription ID") |
| 801 | cmd.Flags().StringVar(&input.BridgeInstanceID, "bridge", "", "Bridge instance ID") |
| 802 | cmd.Flags(). |
| 803 | StringVar(&input.ScopeRaw, taskScopeKey, string(bridgepkg.ScopeGlobal), "Bridge scope: global or workspace") |
| 804 | cmd.Flags(). |
| 805 | StringVar(&input.WorkspaceID, "workspace", "", "Workspace ID for workspace bridge scope") |
| 806 | cmd.Flags().StringVar(&input.PeerID, "peer", "", "Bridge peer ID") |
| 807 | cmd.Flags().StringVar(&input.ThreadID, "thread", "", "Bridge thread ID") |
| 808 | cmd.Flags().StringVar(&input.GroupID, "group", "", "Bridge group ID") |
| 809 | cmd.Flags().StringVar( |
| 810 | &input.DeliveryModeRaw, |
| 811 | "mode", |
| 812 | string(bridgepkg.DeliveryModeReply), |
| 813 | "Delivery mode: reply or direct-send", |
| 814 | ) |
| 815 | mustMarkFlagRequired(cmd, "bridge") |
| 816 | return cmd |
| 817 | } |
| 818 | |
| 819 | func newTaskNotificationListCommand(deps commandDeps) *cobra.Command { |
| 820 | var ( |
no test coverage detected