Files
automatisch/packages/backend/src/helpers/define-trigger.js
2024-09-05 13:32:19 +03:00

28 lines
671 B
JavaScript

import logger from './logger.js';
export default function defineTrigger(triggerDefinition) {
const isWebhookOrPoll =
triggerDefinition.pollInterval || triggerDefinition.type === 'webhook';
const schedulerTriggers = [
'everyHour',
'everyDay',
'everyWeek',
'everyMonth',
];
const isSchedulerTrigger = schedulerTriggers.includes(triggerDefinition.key);
const haveValidTriggerType = isWebhookOrPoll || isSchedulerTrigger;
if (!haveValidTriggerType) {
logger.info(triggerDefinition);
throw new Error(
`Trigger must have a poll interval or be a webhook for ${triggerDefinition.key}`
);
}
return triggerDefinition;
}