1aa961dedf
- add outputSchema in workflow step settings - use outputSchemas to compute step available variables https://github.com/user-attachments/assets/6b851d8e-625c-49ff-b29c-074cd86cbfee
47 lines
1.3 KiB
TypeScript
47 lines
1.3 KiB
TypeScript
import { ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem';
|
|
import { OBJECT_EVENT_TRIGGERS } from '@/workflow/constants/ObjectEventTriggers';
|
|
import {
|
|
WorkflowTrigger,
|
|
WorkflowTriggerType,
|
|
} from '@/workflow/types/Workflow';
|
|
import { assertUnreachable } from '@/workflow/utils/assertUnreachable';
|
|
import { getManualTriggerDefaultSettings } from '@/workflow/utils/getManualTriggerDefaultSettings';
|
|
|
|
export const getTriggerDefaultDefinition = ({
|
|
type,
|
|
activeObjectMetadataItems,
|
|
}: {
|
|
type: WorkflowTriggerType;
|
|
activeObjectMetadataItems: ObjectMetadataItem[];
|
|
}): WorkflowTrigger => {
|
|
if (activeObjectMetadataItems.length === 0) {
|
|
throw new Error(
|
|
'This function need to receive at least one object metadata item to run.',
|
|
);
|
|
}
|
|
|
|
switch (type) {
|
|
case 'DATABASE_EVENT': {
|
|
return {
|
|
type,
|
|
settings: {
|
|
eventName: `${activeObjectMetadataItems[0].nameSingular}.${OBJECT_EVENT_TRIGGERS[0].value}`,
|
|
outputSchema: {},
|
|
},
|
|
};
|
|
}
|
|
case 'MANUAL': {
|
|
return {
|
|
type,
|
|
settings: getManualTriggerDefaultSettings({
|
|
availability: 'WHEN_RECORD_SELECTED',
|
|
activeObjectMetadataItems,
|
|
}),
|
|
};
|
|
}
|
|
default: {
|
|
return assertUnreachable(type, `Unknown type: ${type}`);
|
|
}
|
|
}
|
|
};
|