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:
@@ -4,6 +4,7 @@ export default defineTrigger({
|
|||||||
name: 'New comment',
|
name: 'New comment',
|
||||||
key: 'newComment',
|
key: 'newComment',
|
||||||
description: 'Triggers when a new comment is created.',
|
description: 'Triggers when a new comment is created.',
|
||||||
|
pollInterval: 15,
|
||||||
arguments: [
|
arguments: [
|
||||||
{
|
{
|
||||||
label: 'Status',
|
label: 'Status',
|
||||||
|
@@ -3,6 +3,7 @@ import defineTrigger from '../../../../helpers/define-trigger.js';
|
|||||||
export default defineTrigger({
|
export default defineTrigger({
|
||||||
name: 'New page',
|
name: 'New page',
|
||||||
key: 'newPage',
|
key: 'newPage',
|
||||||
|
pollInterval: 15,
|
||||||
description: 'Triggers when a new page is created.',
|
description: 'Triggers when a new page is created.',
|
||||||
arguments: [
|
arguments: [
|
||||||
{
|
{
|
||||||
|
@@ -3,6 +3,7 @@ import defineTrigger from '../../../../helpers/define-trigger.js';
|
|||||||
export default defineTrigger({
|
export default defineTrigger({
|
||||||
name: 'New post',
|
name: 'New post',
|
||||||
key: 'newPost',
|
key: 'newPost',
|
||||||
|
pollInterval: 15,
|
||||||
description: 'Triggers when a new post is created.',
|
description: 'Triggers when a new post is created.',
|
||||||
arguments: [
|
arguments: [
|
||||||
{
|
{
|
||||||
|
@@ -3,6 +3,7 @@ import defineTrigger from '../../../../helpers/define-trigger.js';
|
|||||||
export default defineTrigger({
|
export default defineTrigger({
|
||||||
name: 'New video by search',
|
name: 'New video by search',
|
||||||
key: 'newVideoBySearch',
|
key: 'newVideoBySearch',
|
||||||
|
pollInterval: 15,
|
||||||
description:
|
description:
|
||||||
'Triggers when a new video is uploaded that matches a specific search string.',
|
'Triggers when a new video is uploaded that matches a specific search string.',
|
||||||
arguments: [
|
arguments: [
|
||||||
|
@@ -3,6 +3,7 @@ import defineTrigger from '../../../../helpers/define-trigger.js';
|
|||||||
export default defineTrigger({
|
export default defineTrigger({
|
||||||
name: 'New video in channel',
|
name: 'New video in channel',
|
||||||
key: 'newVideoInChannel',
|
key: 'newVideoInChannel',
|
||||||
|
pollInterval: 15,
|
||||||
description:
|
description:
|
||||||
'Triggers when a new video is published to a specific Youtube channel.',
|
'Triggers when a new video is published to a specific Youtube channel.',
|
||||||
arguments: [
|
arguments: [
|
||||||
|
@@ -1,3 +1,27 @@
|
|||||||
|
import logger from './logger.js';
|
||||||
|
|
||||||
export default function defineTrigger(triggerDefinition) {
|
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;
|
return triggerDefinition;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user