MCPcopy Index your code
hub / github.com/simstudioai/sim / resolveEffectiveTriggerId

Function resolveEffectiveTriggerId

apps/sim/hooks/use-webhook-management.ts:31–79  ·  view source on GitHub ↗

* Resolves the effective triggerId from various sources in order of priority

(
  blockId: string,
  triggerId: string | undefined,
  webhook?: { providerConfig?: { triggerId?: string } }
)

Source from the content-addressed store, hash-verified

29 * Resolves the effective triggerId from various sources in order of priority
30 */
31function resolveEffectiveTriggerId(
32 blockId: string,
33 triggerId: string | undefined,
34 webhook?: { providerConfig?: { triggerId?: string } }
35): string | undefined {
36 if (triggerId && isTriggerValid(triggerId)) {
37 return triggerId
38 }
39
40 const selectedTriggerId = useSubBlockStore.getState().getValue(blockId, 'selectedTriggerId')
41 if (typeof selectedTriggerId === 'string' && isTriggerValid(selectedTriggerId)) {
42 return selectedTriggerId
43 }
44
45 const storedTriggerId = useSubBlockStore.getState().getValue(blockId, 'triggerId')
46 if (typeof storedTriggerId === 'string' && isTriggerValid(storedTriggerId)) {
47 return storedTriggerId
48 }
49
50 if (webhook?.providerConfig?.triggerId && typeof webhook.providerConfig.triggerId === 'string') {
51 return webhook.providerConfig.triggerId
52 }
53
54 const workflowState = useWorkflowStore.getState()
55 const block = workflowState.blocks?.[blockId]
56 if (block) {
57 const blockConfig = getBlock(block.type)
58 if (blockConfig) {
59 if (blockConfig.category === 'triggers') {
60 return block.type
61 }
62 if (block.triggerMode && blockConfig.triggers?.enabled) {
63 const selectedTriggerIdValue = block.subBlocks?.selectedTriggerId?.value
64 const triggerIdValue = block.subBlocks?.triggerId?.value
65 return (
66 (typeof selectedTriggerIdValue === 'string' && isTriggerValid(selectedTriggerIdValue)
67 ? selectedTriggerIdValue
68 : undefined) ||
69 (typeof triggerIdValue === 'string' && isTriggerValid(triggerIdValue)
70 ? triggerIdValue
71 : undefined) ||
72 blockConfig.triggers?.available?.[0]
73 )
74 }
75 }
76 }
77
78 return undefined
79}
80
81/**
82 * Hook to load webhook info for trigger blocks.

Callers 1

useWebhookManagementFunction · 0.85

Calls 2

isTriggerValidFunction · 0.90
getBlockFunction · 0.90

Tested by

no test coverage detected