MCPcopy Create free account
hub / github.com/compozy/agh / handleAutomationTriggers

Method handleAutomationTriggers

internal/extension/host_api.go:1585–1621  ·  view source on GitHub ↗
(ctx context.Context, raw json.RawMessage)

Source from the content-addressed store, hash-verified

1583}
1584
1585func (h *HostAPIHandler) handleAutomationTriggers(ctx context.Context, raw json.RawMessage) (any, error) {
1586 automation, err := h.automationManager()
1587 if err != nil {
1588 return nil, err
1589 }
1590
1591 var params hostAPIAutomationTriggersParams
1592 if err := decodeHostAPIParams(raw, &params); err != nil {
1593 return nil, err
1594 }
1595
1596 workspaceID, err := h.resolveAutomationWorkspaceID(ctx, params.WorkspaceID)
1597 if err != nil {
1598 return nil, err
1599 }
1600
1601 triggers, err := automation.ListTriggers(ctx, automationpkg.TriggerListQuery{
1602 Scope: params.Scope,
1603 WorkspaceID: workspaceID,
1604 Event: strings.TrimSpace(params.Event),
1605 })
1606 if err != nil {
1607 return nil, err
1608 }
1609
1610 if params.Enabled == nil {
1611 return apicontract.TriggerPayloadsFromTriggers(triggers), nil
1612 }
1613
1614 filtered := make([]automationpkg.Trigger, 0, len(triggers))
1615 for _, trigger := range triggers {
1616 if trigger.Enabled == *params.Enabled {
1617 filtered = append(filtered, trigger)
1618 }
1619 }
1620 return apicontract.TriggerPayloadsFromTriggers(filtered), nil
1621}
1622
1623func (h *HostAPIHandler) handleAutomationTriggersGet(ctx context.Context, raw json.RawMessage) (any, error) {
1624 automation, err := h.automationManager()

Callers

nothing calls this directly

Calls 5

automationManagerMethod · 0.95
decodeHostAPIParamsFunction · 0.85
appendFunction · 0.85
ListTriggersMethod · 0.65

Tested by

no test coverage detected