Skip to content

Commit 4245f3a

Browse files
committed
fix(attio): gate operation-specific param mapping on current operation
Params like taskIsCompleted/listWorkspaceAccess/attributeIsMultiselect/ attributeIsArchived are only meant for one specific operation, but their mapping wasn't checking params.operation. A stale value persisted in block state from a prior operation selection (e.g. switching the dropdown from create_task to update_task) could leak through and override the "leave unchanged" default on the other operation.
1 parent 55c63b7 commit 4245f3a

1 file changed

Lines changed: 11 additions & 5 deletions

File tree

apps/sim/blocks/blocks/attio.ts

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1385,10 +1385,11 @@ Record reference: {"allowed_objects": ["people", "companies"]}`,
13851385
// Task params
13861386
if (params.taskContent) cleanParams.content = params.taskContent
13871387
if (params.taskDeadline) cleanParams.deadlineAt = params.taskDeadline
1388-
if (params.taskIsCompleted !== undefined)
1388+
if (params.operation === 'create_task' && params.taskIsCompleted !== undefined)
13891389
cleanParams.isCompleted =
13901390
params.taskIsCompleted === 'true' || params.taskIsCompleted === true
13911391
if (
1392+
params.operation === 'update_task' &&
13921393
params.taskIsCompletedUpdate !== undefined &&
13931394
params.taskIsCompletedUpdate !== 'unchanged'
13941395
)
@@ -1415,8 +1416,13 @@ Record reference: {"allowed_objects": ["people", "companies"]}`,
14151416
if (params.listName) cleanParams.name = params.listName
14161417
if (params.listParentObject) cleanParams.parentObject = params.listParentObject
14171418
if (params.listApiSlug) cleanParams.apiSlug = params.listApiSlug
1418-
if (params.listWorkspaceAccess) cleanParams.workspaceAccess = params.listWorkspaceAccess
1419-
if (params.listWorkspaceAccessUpdate && params.listWorkspaceAccessUpdate !== 'unchanged')
1419+
if (params.operation === 'create_list' && params.listWorkspaceAccess)
1420+
cleanParams.workspaceAccess = params.listWorkspaceAccess
1421+
if (
1422+
params.operation === 'update_list' &&
1423+
params.listWorkspaceAccessUpdate &&
1424+
params.listWorkspaceAccessUpdate !== 'unchanged'
1425+
)
14201426
cleanParams.workspaceAccess = params.listWorkspaceAccessUpdate
14211427

14221428
// List entry params
@@ -1469,10 +1475,10 @@ Record reference: {"allowed_objects": ["people", "companies"]}`,
14691475
if (params.attributeIsUnique !== undefined && params.attributeIsUnique !== 'unchanged')
14701476
cleanParams.isUnique =
14711477
params.attributeIsUnique === 'true' || params.attributeIsUnique === true
1472-
if (params.attributeIsMultiselect !== undefined)
1478+
if (params.operation === 'create_attribute' && params.attributeIsMultiselect !== undefined)
14731479
cleanParams.isMultiselect =
14741480
params.attributeIsMultiselect === 'true' || params.attributeIsMultiselect === true
1475-
if (params.attributeIsArchived !== undefined)
1481+
if (params.operation === 'update_attribute' && params.attributeIsArchived !== undefined)
14761482
cleanParams.isArchived =
14771483
params.attributeIsArchived === 'true' || params.attributeIsArchived === true
14781484
if (params.attributeConfig) cleanParams.config = params.attributeConfig

0 commit comments

Comments
 (0)