From 06c4b7ed2e04395aad653dc47827677c43594dd0 Mon Sep 17 00:00:00 2001 From: Faruk AYDIN Date: Thu, 5 Sep 2024 13:32:19 +0300 Subject: [PATCH] fix: Throw error if trigger doesn't have a type --- .../backend/src/helpers/define-trigger.js | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/packages/backend/src/helpers/define-trigger.js b/packages/backend/src/helpers/define-trigger.js index 008bdf18..22ff34ab 100644 --- a/packages/backend/src/helpers/define-trigger.js +++ b/packages/backend/src/helpers/define-trigger.js @@ -1,3 +1,27 @@ +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; }