Fix duplicate field name issue in custom triggers

- Remove redundant field name prefixing in Workflow.ts
- Custom trigger fields from trigger-helpers already have unique names
- Simplify by passing through inputs without modification
- Fixes DuplicateFieldName error
This commit is contained in:
2025-09-08 20:46:11 +02:00
parent a8ae877039
commit 45c5847f5a

View File

@@ -296,34 +296,9 @@ export const createWorkflowCollection: <T extends string>(options: WorkflowsPlug
required: false required: false
}, },
// Virtual fields for custom triggers // Virtual fields for custom triggers
...(triggers || []).flatMap(t => (t.inputs || []).filter(f => 'name' in f && f.name).map(f => ({ // Note: Custom trigger fields from trigger-helpers already have unique names
...f, // We just need to pass them through without modification
// Prefix field name with trigger slug to avoid conflicts ...(triggers || []).flatMap(t => (t.inputs || []))
name: `__${t.slug}_${(f as any).name}`,
admin: {
...(f.admin || {}),
condition: (...args) => args[1]?.type === t.slug && (
f.admin?.condition ?
f.admin.condition.call(this, ...args) :
true
),
},
hooks: {
afterRead: [
({ siblingData }) => {
return siblingData?.parameters?.[(f as any).name] || undefined
}
],
beforeChange: [
({ siblingData, value }) => {
if (!siblingData.parameters) {siblingData.parameters = {}}
siblingData.parameters[(f as any).name] = value
return undefined // Virtual field, don't store directly
}
]
},
virtual: true,
} as Field)))
] ]
}, },
{ {