(deps commandDeps, workspaceRef *string)
| 541 | } |
| 542 | |
| 543 | func newNetworkThreadsPromoteCommand(deps commandDeps, workspaceRef *string) *cobra.Command { |
| 544 | var flags networkThreadPromoteFlags |
| 545 | cmd := &cobra.Command{ |
| 546 | Use: networkPromoteCommandUse, |
| 547 | Short: "Promote one thread message into a durable task", |
| 548 | RunE: func(cmd *cobra.Command, _ []string) error { |
| 549 | metadata, err := parseOptionalNetworkMetadata(cmd, flags.metadataRaw) |
| 550 | if err != nil { |
| 551 | return err |
| 552 | } |
| 553 | client, err := clientFromDeps(deps) |
| 554 | if err != nil { |
| 555 | return err |
| 556 | } |
| 557 | workspace, err := resolveNetworkWorkspaceRef(cmd, deps, client, workspaceRef) |
| 558 | if err != nil { |
| 559 | return err |
| 560 | } |
| 561 | promoted, err := client.PromoteNetworkThreadTask( |
| 562 | cmd.Context(), |
| 563 | workspace, |
| 564 | strings.TrimSpace(flags.channel), |
| 565 | strings.TrimSpace(flags.threadID), |
| 566 | PromoteNetworkThreadTaskRequest{ |
| 567 | OriginMessageID: strings.TrimSpace(flags.originMessageID), |
| 568 | Title: strings.TrimSpace(flags.title), |
| 569 | Description: strings.TrimSpace(flags.description), |
| 570 | Priority: strings.TrimSpace(flags.priority), |
| 571 | Metadata: metadata, |
| 572 | }, |
| 573 | ) |
| 574 | if err != nil { |
| 575 | return err |
| 576 | } |
| 577 | return writeCommandOutput(cmd, networkThreadPromotionBundle(&promoted)) |
| 578 | }, |
| 579 | } |
| 580 | registerNetworkThreadPromoteFlags(cmd, &flags) |
| 581 | return cmd |
| 582 | } |
| 583 | |
| 584 | func registerNetworkThreadPromoteFlags(cmd *cobra.Command, flags *networkThreadPromoteFlags) { |
| 585 | cmd.Flags().StringVar(&flags.channel, networkChannelKey, "", "Target channel") |
no test coverage detected