Merge pull request #2062 from automatisch/fix-trigger-type-problem

fix: Throw error if trigger doesn't have a type
This commit is contained in:
Ömer Faruk Aydın
2024-09-05 13:51:37 +03:00
committed by GitHub
6 changed files with 29 additions and 0 deletions

View File

@@ -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',

View File

@@ -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: [
{

View File

@@ -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: [
{

View File

@@ -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: [

View File

@@ -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: [

View File

@@ -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;
}