( cmd *cobra.Command, client DaemonClient, input automationTriggerCommandInput, )
| 1672 | } |
| 1673 | |
| 1674 | func buildAutomationTriggerUpdateRequest( |
| 1675 | cmd *cobra.Command, |
| 1676 | client DaemonClient, |
| 1677 | input automationTriggerCommandInput, |
| 1678 | ) (AutomationTriggerUpdateRequest, error) { |
| 1679 | request := AutomationTriggerUpdateRequest{} |
| 1680 | if cmd.Flags().Changed(automationNameKey) { |
| 1681 | request.Name = new(strings.TrimSpace(input.Name)) |
| 1682 | } |
| 1683 | if cmd.Flags().Changed("agent") { |
| 1684 | request.AgentName = new(strings.TrimSpace(input.AgentName)) |
| 1685 | } |
| 1686 | if cmd.Flags().Changed("workspace") { |
| 1687 | workspaceID, err := resolveAutomationWorkspaceID(cmd.Context(), client, input.WorkspaceRef) |
| 1688 | if err != nil { |
| 1689 | return AutomationTriggerUpdateRequest{}, err |
| 1690 | } |
| 1691 | request.WorkspaceID = new(workspaceID) |
| 1692 | } |
| 1693 | if cmd.Flags().Changed(automationPromptKey) { |
| 1694 | request.Prompt = new(strings.TrimSpace(input.Prompt)) |
| 1695 | } |
| 1696 | if cmd.Flags().Changed(automationEventKey) { |
| 1697 | request.Event = new(strings.TrimSpace(input.EventRaw)) |
| 1698 | } |
| 1699 | if cmd.Flags().Changed("filter") { |
| 1700 | filter, err := parseAutomationFilterFlags(input.FilterFlags) |
| 1701 | if err != nil { |
| 1702 | return AutomationTriggerUpdateRequest{}, err |
| 1703 | } |
| 1704 | request.Filter = filter |
| 1705 | } |
| 1706 | if cmd.Flags().Changed(automationRetryKey) { |
| 1707 | retry, err := parseAutomationRetryFlag(input.RetryRaw) |
| 1708 | if err != nil { |
| 1709 | return AutomationTriggerUpdateRequest{}, err |
| 1710 | } |
| 1711 | if retry == nil { |
| 1712 | return AutomationTriggerUpdateRequest{}, errors.New( |
| 1713 | `cli: --retry requires "none", "backoff", or "backoff:<max_retries>:<base_delay>"`, |
| 1714 | ) |
| 1715 | } |
| 1716 | request.Retry = retry |
| 1717 | } |
| 1718 | if cmd.Flags().Changed(automationEnabledKey) { |
| 1719 | request.Enabled = new(input.Enabled) |
| 1720 | } |
| 1721 | if cmd.Flags().Changed("webhook-id") { |
| 1722 | request.WebhookID = new(strings.TrimSpace(input.WebhookID)) |
| 1723 | } |
| 1724 | if cmd.Flags().Changed("endpoint-slug") { |
| 1725 | request.EndpointSlug = new(strings.TrimSpace(input.EndpointSlug)) |
| 1726 | } |
| 1727 | if cmd.Flags().Changed("webhook-secret-value") { |
| 1728 | request.WebhookSecretValue = new(input.WebhookSecretValue) |
| 1729 | } |
| 1730 | if !request.HasChanges() { |
| 1731 | return AutomationTriggerUpdateRequest{}, errors.New( |
no test coverage detected