MCPcopy
hub / github.com/simstudioai/sim / syncActiveSideEffects

Function syncActiveSideEffects

apps/sim/lib/workflows/deployment-outbox.ts:95–217  ·  view source on GitHub ↗
(rawPayload: unknown)

Source from the content-addressed store, hash-verified

93}
94
95const syncActiveSideEffects = async (rawPayload: unknown): Promise<void> => {
96 const payload = parseSyncActiveSideEffectsPayload(rawPayload)
97 const requestId = payload.requestId ?? generateRequestId()
98 const [workflowRecord] = await db
99 .select()
100 .from(workflowTable)
101 .where(eq(workflowTable.id, payload.workflowId))
102 .limit(1)
103
104 if (!workflowRecord) {
105 logger.warn(`[${requestId}] Workflow missing during deployment side-effect sync`, {
106 workflowId: payload.workflowId,
107 })
108 return
109 }
110
111 const [versionRow] = await db
112 .select({
113 id: workflowDeploymentVersion.id,
114 state: workflowDeploymentVersion.state,
115 isActive: workflowDeploymentVersion.isActive,
116 })
117 .from(workflowDeploymentVersion)
118 .where(
119 and(
120 eq(workflowDeploymentVersion.workflowId, payload.workflowId),
121 eq(workflowDeploymentVersion.id, payload.deploymentVersionId)
122 )
123 )
124 .limit(1)
125
126 if (!versionRow?.isActive) {
127 logger.info(`[${requestId}] Skipping stale deployment side-effect sync`, {
128 workflowId: payload.workflowId,
129 deploymentVersionId: payload.deploymentVersionId,
130 })
131 if (versionRow) {
132 await cleanupDeploymentVersionIfInactive({
133 workflowId: payload.workflowId,
134 deploymentVersionId: payload.deploymentVersionId,
135 workflow: workflowRecord as Record<string, unknown>,
136 userId: payload.userId,
137 requestId,
138 })
139 }
140 return
141 }
142
143 const state = versionRow.state as { blocks?: Record<string, BlockState> }
144 const blocks = state.blocks ?? {}
145 const workflowData = workflowRecord as Record<string, unknown>
146
147 if (!(await cleanupStaleDeploymentIfNeeded({ payload, workflow: workflowData, requestId }))) {
148 return
149 }
150
151 const request = new NextRequest(new URL('/api/webhooks', getBaseUrl()))
152 const triggerSaveResult = await saveTriggerWebhooksForDeploy({

Callers

nothing calls this directly

Calls 13

generateRequestIdFunction · 0.90
getBaseUrlFunction · 0.90
infoMethod · 0.80
warnMethod · 0.65

Tested by

no test coverage detected