Files
twenty/packages/twenty-front/src/modules/workflow/utils/getTriggerDefaultDefinition.ts
T
martmull 1aa961dedf 101 featch available variables from previous steps (#8062)
- add outputSchema in workflow step settings
- use outputSchemas to compute step available variables


https://github.com/user-attachments/assets/6b851d8e-625c-49ff-b29c-074cd86cbfee
2024-10-28 11:25:29 +00:00

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}`);
}
}
};