From 06c4b7ed2e04395aad653dc47827677c43594dd0 Mon Sep 17 00:00:00 2001 From: Faruk AYDIN Date: Thu, 5 Sep 2024 13:32:19 +0300 Subject: [PATCH 1/2] 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; } From 5c4ca3c84f659220a58b9dcaacece8685331c7d1 Mon Sep 17 00:00:00 2001 From: Faruk AYDIN Date: Thu, 5 Sep 2024 13:40:44 +0300 Subject: [PATCH 2/2] fix: Add missing pollInverval keys for triggers --- .../backend/src/apps/wordpress/triggers/new-comment/index.js | 1 + packages/backend/src/apps/wordpress/triggers/new-page/index.js | 1 + packages/backend/src/apps/wordpress/triggers/new-post/index.js | 1 + .../src/apps/youtube/triggers/new-video-by-search/index.js | 1 + .../src/apps/youtube/triggers/new-video-in-channel/index.js | 1 + 5 files changed, 5 insertions(+) diff --git a/packages/backend/src/apps/wordpress/triggers/new-comment/index.js b/packages/backend/src/apps/wordpress/triggers/new-comment/index.js index 3ab2423e..1f597fdb 100644 --- a/packages/backend/src/apps/wordpress/triggers/new-comment/index.js +++ b/packages/backend/src/apps/wordpress/triggers/new-comment/index.js @@ -4,6 +4,7 @@ export default defineTrigger({ name: 'New comment', key: 'newComment', description: 'Triggers when a new comment is created.', + pollInterval: 15, arguments: [ { label: 'Status', diff --git a/packages/backend/src/apps/wordpress/triggers/new-page/index.js b/packages/backend/src/apps/wordpress/triggers/new-page/index.js index 3fb5086e..4878680d 100644 --- a/packages/backend/src/apps/wordpress/triggers/new-page/index.js +++ b/packages/backend/src/apps/wordpress/triggers/new-page/index.js @@ -3,6 +3,7 @@ import defineTrigger from '../../../../helpers/define-trigger.js'; export default defineTrigger({ name: 'New page', key: 'newPage', + pollInterval: 15, description: 'Triggers when a new page is created.', arguments: [ { diff --git a/packages/backend/src/apps/wordpress/triggers/new-post/index.js b/packages/backend/src/apps/wordpress/triggers/new-post/index.js index 8b8dec79..e1814bc7 100644 --- a/packages/backend/src/apps/wordpress/triggers/new-post/index.js +++ b/packages/backend/src/apps/wordpress/triggers/new-post/index.js @@ -3,6 +3,7 @@ import defineTrigger from '../../../../helpers/define-trigger.js'; export default defineTrigger({ name: 'New post', key: 'newPost', + pollInterval: 15, description: 'Triggers when a new post is created.', arguments: [ { diff --git a/packages/backend/src/apps/youtube/triggers/new-video-by-search/index.js b/packages/backend/src/apps/youtube/triggers/new-video-by-search/index.js index 13ed2733..4c7c6450 100644 --- a/packages/backend/src/apps/youtube/triggers/new-video-by-search/index.js +++ b/packages/backend/src/apps/youtube/triggers/new-video-by-search/index.js @@ -3,6 +3,7 @@ import defineTrigger from '../../../../helpers/define-trigger.js'; export default defineTrigger({ name: 'New video by search', key: 'newVideoBySearch', + pollInterval: 15, description: 'Triggers when a new video is uploaded that matches a specific search string.', arguments: [ diff --git a/packages/backend/src/apps/youtube/triggers/new-video-in-channel/index.js b/packages/backend/src/apps/youtube/triggers/new-video-in-channel/index.js index 2bcc51a5..c048d521 100644 --- a/packages/backend/src/apps/youtube/triggers/new-video-in-channel/index.js +++ b/packages/backend/src/apps/youtube/triggers/new-video-in-channel/index.js @@ -3,6 +3,7 @@ import defineTrigger from '../../../../helpers/define-trigger.js'; export default defineTrigger({ name: 'New video in channel', key: 'newVideoInChannel', + pollInterval: 15, description: 'Triggers when a new video is published to a specific Youtube channel.', arguments: [