From f2d85dae4dfa04485e5aeafaff2b9021a76fc23c Mon Sep 17 00:00:00 2001 From: Siddharth Ganesan Date: Sun, 22 Mar 2026 02:26:43 -0700 Subject: [PATCH 1/2] Fix --- apps/sim/lib/workflows/utils.ts | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/apps/sim/lib/workflows/utils.ts b/apps/sim/lib/workflows/utils.ts index d5c50b47ee6..4c7e9ee1d77 100644 --- a/apps/sim/lib/workflows/utils.ts +++ b/apps/sim/lib/workflows/utils.ts @@ -436,6 +436,23 @@ export async function createWorkflowRecord(params: CreateWorkflowInput) { const workflowId = crypto.randomUUID() const now = new Date() + const duplicateConditions = [ + eq(workflowTable.workspaceId, workspaceId), + isNull(workflowTable.archivedAt), + eq(workflowTable.name, name), + ...(folderId + ? [eq(workflowTable.folderId, folderId)] + : [isNull(workflowTable.folderId)]), + ] + const [duplicateWorkflow] = await db + .select({ id: workflowTable.id }) + .from(workflowTable) + .where(and(...duplicateConditions)) + .limit(1) + if (duplicateWorkflow) { + throw new Error(`A workflow named "${name}" already exists in this folder. Use a different name.`) + } + const workflowParentCondition = folderId ? eq(workflowTable.folderId, folderId) : isNull(workflowTable.folderId) From 76c6ad43cdd804226b60032fdfe6f9194556b7f2 Mon Sep 17 00:00:00 2001 From: Siddharth Ganesan Date: Sun, 22 Mar 2026 02:27:01 -0700 Subject: [PATCH 2/2] Fix lint --- apps/sim/lib/workflows/utils.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/apps/sim/lib/workflows/utils.ts b/apps/sim/lib/workflows/utils.ts index 4c7e9ee1d77..0fe34094093 100644 --- a/apps/sim/lib/workflows/utils.ts +++ b/apps/sim/lib/workflows/utils.ts @@ -440,9 +440,7 @@ export async function createWorkflowRecord(params: CreateWorkflowInput) { eq(workflowTable.workspaceId, workspaceId), isNull(workflowTable.archivedAt), eq(workflowTable.name, name), - ...(folderId - ? [eq(workflowTable.folderId, folderId)] - : [isNull(workflowTable.folderId)]), + ...(folderId ? [eq(workflowTable.folderId, folderId)] : [isNull(workflowTable.folderId)]), ] const [duplicateWorkflow] = await db .select({ id: workflowTable.id }) @@ -450,7 +448,9 @@ export async function createWorkflowRecord(params: CreateWorkflowInput) { .where(and(...duplicateConditions)) .limit(1) if (duplicateWorkflow) { - throw new Error(`A workflow named "${name}" already exists in this folder. Use a different name.`) + throw new Error( + `A workflow named "${name}" already exists in this folder. Use a different name.` + ) } const workflowParentCondition = folderId