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

Function getWorkflowState

apps/realtime/src/database/operations.ts:171–211  ·  view source on GitHub ↗
(workflowId: string)

Source from the content-addressed store, hash-verified

169}
170
171export async function getWorkflowState(workflowId: string) {
172 try {
173 const workflowData = await db
174 .select()
175 .from(workflow)
176 .where(and(eq(workflow.id, workflowId), isNull(workflow.archivedAt)))
177 .limit(1)
178
179 if (!workflowData.length) {
180 throw new Error(`Workflow ${workflowId} not found`)
181 }
182
183 const normalizedData = await loadWorkflowFromNormalizedTablesRaw(workflowId)
184
185 if (normalizedData) {
186 const finalState = {
187 hasActiveWebhook: false,
188 blocks: normalizedData.blocks,
189 edges: normalizedData.edges,
190 loops: normalizedData.loops,
191 parallels: normalizedData.parallels,
192 lastSaved: Date.now(),
193 isDeployed: workflowData[0].isDeployed || false,
194 deployedAt: workflowData[0].deployedAt,
195 }
196
197 return {
198 ...workflowData[0],
199 state: finalState,
200 lastModified: Date.now(),
201 }
202 }
203 return {
204 ...workflowData[0],
205 lastModified: Date.now(),
206 }
207 } catch (error) {
208 logger.error(`Error fetching workflow state for ${workflowId}:`, error)
209 throw error
210 }
211}
212
213export async function persistWorkflowOperation(workflowId: string, operation: any) {
214 const startTime = Date.now()

Callers 2

setupWorkflowHandlersFunction · 0.90
store.test.tsFile · 0.85

Calls 3

errorMethod · 0.80
eqFunction · 0.50

Tested by

no test coverage detected