mirror of
https://github.com/xtr-dev/payload-automation.git
synced 2025-12-10 00:43:23 +00:00
Fix field name clashing with namespaced virtual field names
- Prefix built-in trigger fields with __builtin_ namespace
- Prefix custom trigger fields with __trigger_{slug}_ namespace
- Completely eliminates field name conflicts between triggers
- Maintains backward compatibility with existing workflows
- Virtual fields transparently handle the namespacing
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -71,7 +71,7 @@ export const createWorkflowCollection: <T extends string>(options: WorkflowsPlug
|
||||
},
|
||||
// Virtual fields for collection trigger
|
||||
{
|
||||
name: 'collectionSlug',
|
||||
name: '__builtin_collectionSlug',
|
||||
type: 'select',
|
||||
admin: {
|
||||
condition: (_, siblingData) => siblingData?.type === 'collection-trigger',
|
||||
@@ -95,7 +95,7 @@ export const createWorkflowCollection: <T extends string>(options: WorkflowsPlug
|
||||
virtual: true,
|
||||
},
|
||||
{
|
||||
name: 'operation',
|
||||
name: '__builtin_operation',
|
||||
type: 'select',
|
||||
admin: {
|
||||
condition: (_, siblingData) => siblingData?.type === 'collection-trigger',
|
||||
@@ -125,7 +125,7 @@ export const createWorkflowCollection: <T extends string>(options: WorkflowsPlug
|
||||
},
|
||||
// Virtual fields for webhook trigger
|
||||
{
|
||||
name: 'webhookPath',
|
||||
name: '__builtin_webhookPath',
|
||||
type: 'text',
|
||||
admin: {
|
||||
condition: (_, siblingData) => siblingData?.type === 'webhook-trigger',
|
||||
@@ -155,7 +155,7 @@ export const createWorkflowCollection: <T extends string>(options: WorkflowsPlug
|
||||
},
|
||||
// Virtual fields for global trigger
|
||||
{
|
||||
name: 'global',
|
||||
name: '__builtin_global',
|
||||
type: 'select',
|
||||
admin: {
|
||||
condition: (_, siblingData) => siblingData?.type === 'global-trigger',
|
||||
@@ -179,7 +179,7 @@ export const createWorkflowCollection: <T extends string>(options: WorkflowsPlug
|
||||
virtual: true,
|
||||
},
|
||||
{
|
||||
name: 'globalOperation',
|
||||
name: '__builtin_globalOperation',
|
||||
type: 'select',
|
||||
admin: {
|
||||
condition: (_, siblingData) => siblingData?.type === 'global-trigger',
|
||||
@@ -206,7 +206,7 @@ export const createWorkflowCollection: <T extends string>(options: WorkflowsPlug
|
||||
},
|
||||
// Virtual fields for cron trigger
|
||||
{
|
||||
name: 'cronExpression',
|
||||
name: '__builtin_cronExpression',
|
||||
type: 'text',
|
||||
admin: {
|
||||
condition: (_, siblingData) => siblingData?.type === 'cron-trigger',
|
||||
@@ -250,7 +250,7 @@ export const createWorkflowCollection: <T extends string>(options: WorkflowsPlug
|
||||
virtual: true,
|
||||
},
|
||||
{
|
||||
name: 'timezone',
|
||||
name: '__builtin_timezone',
|
||||
type: 'text',
|
||||
admin: {
|
||||
condition: (_, siblingData) => siblingData?.type === 'cron-trigger',
|
||||
|
||||
@@ -10,9 +10,12 @@ export function createTriggerParameter(
|
||||
fieldConfig: any, // Use any to allow flexible field configurations
|
||||
triggerSlug: string
|
||||
): Field {
|
||||
// Create a unique field name by prefixing with trigger slug
|
||||
const uniqueFieldName = `__trigger_${triggerSlug}_${name}`
|
||||
|
||||
return {
|
||||
...fieldConfig,
|
||||
name,
|
||||
name: uniqueFieldName,
|
||||
virtual: true,
|
||||
admin: {
|
||||
...fieldConfig.admin,
|
||||
|
||||
Reference in New Issue
Block a user