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

Function extractWorkflowMetadata

apps/sim/app/api/v1/admin/types.ts:381–410  ·  view source on GitHub ↗
(
  workflowJson: unknown,
  overrideName?: string
)

Source from the content-addressed store, hash-verified

379 * Handles both full export payload and raw state formats.
380 */
381export function extractWorkflowMetadata(
382 workflowJson: unknown,
383 overrideName?: string
384): { name: string; description: string } {
385 const defaults = {
386 name: overrideName || 'Imported Workflow',
387 description: 'Imported via Admin API',
388 }
389
390 if (!workflowJson || typeof workflowJson !== 'object') {
391 return defaults
392 }
393
394 const parsed = workflowJson as Record<string, unknown>
395
396 const name =
397 overrideName ||
398 getNestedString(parsed, 'workflow.name') ||
399 getNestedString(parsed, 'state.metadata.name') ||
400 getNestedString(parsed, 'metadata.name') ||
401 defaults.name
402
403 const description =
404 getNestedString(parsed, 'workflow.description') ||
405 getNestedString(parsed, 'state.metadata.description') ||
406 getNestedString(parsed, 'metadata.description') ||
407 defaults.description
408
409 return { name, description }
410}
411
412/**
413 * Safely get a nested string value from an object.

Callers 2

executeImportFunction · 0.90
route.tsFile · 0.90

Calls 1

getNestedStringFunction · 0.85

Tested by

no test coverage detected