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

Function updateSubflowNodeList

apps/realtime/src/database/operations.ts:128–169  ·  view source on GitHub ↗
(dbOrTx: any, workflowId: string, parentId: string)

Source from the content-addressed store, hash-verified

126}
127
128export async function updateSubflowNodeList(dbOrTx: any, workflowId: string, parentId: string) {
129 try {
130 // Get all child blocks of this parent
131 const childBlocks = await dbOrTx
132 .select({ id: workflowBlocks.id })
133 .from(workflowBlocks)
134 .where(
135 and(
136 eq(workflowBlocks.workflowId, workflowId),
137 sql`${workflowBlocks.data}->>'parentId' = ${parentId}`
138 )
139 )
140
141 const childNodeIds = childBlocks.map((block: any) => block.id)
142
143 // Get current subflow config
144 const subflowData = await dbOrTx
145 .select({ config: workflowSubflows.config })
146 .from(workflowSubflows)
147 .where(and(eq(workflowSubflows.id, parentId), eq(workflowSubflows.workflowId, workflowId)))
148 .limit(1)
149
150 if (subflowData.length > 0) {
151 const updatedConfig = {
152 ...subflowData[0].config,
153 nodes: childNodeIds,
154 }
155
156 await dbOrTx
157 .update(workflowSubflows)
158 .set({
159 config: updatedConfig,
160 updatedAt: new Date(),
161 })
162 .where(and(eq(workflowSubflows.id, parentId), eq(workflowSubflows.workflowId, workflowId)))
163
164 logger.debug(`Updated subflow ${parentId} node list: [${childNodeIds.join(', ')}]`)
165 }
166 } catch (error) {
167 logger.error(`Error updating subflow node list for ${parentId}:`, error)
168 }
169}
170
171export async function getWorkflowState(workflowId: string) {
172 try {

Callers 2

handleBlockOperationTxFunction · 0.85
handleBlocksOperationTxFunction · 0.85

Calls 5

debugMethod · 0.80
joinMethod · 0.80
errorMethod · 0.80
setMethod · 0.65
eqFunction · 0.50

Tested by

no test coverage detected