UNPKG

n8n-nodes-base

Version:

Base nodes of n8n

61 lines 2.35 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Cron = void 0; const n8n_workflow_1 = require("n8n-workflow"); class Cron { description = { displayName: 'Cron', name: 'cron', icon: 'fa:clock', group: ['trigger', 'schedule'], version: 1, hidden: true, description: 'Triggers the workflow at a specific time', eventTriggerDescription: '', activationMessage: 'Your cron trigger will now trigger executions on the schedule you have defined.', defaults: { name: 'Cron', color: '#29a568', }, inputs: [], outputs: [n8n_workflow_1.NodeConnectionTypes.Main], properties: [ { displayName: "This workflow will run on the schedule you define here once you publish it.<br><br>For testing, you can also trigger it manually: by going back to the canvas and clicking 'execute workflow'", name: 'notice', type: 'notice', default: '', }, { displayName: 'Trigger Times', name: 'triggerTimes', type: 'fixedCollection', typeOptions: { multipleValues: true, multipleValueButtonText: 'Add Time', }, default: {}, description: 'Triggers for the workflow', placeholder: 'Add Cron Time', options: n8n_workflow_1.NodeHelpers.cronNodeOptions, }, ], }; async trigger() { const triggerTimes = this.getNodeParameter('triggerTimes'); // Get all the trigger times const expressions = (triggerTimes.item || []).map(n8n_workflow_1.toCronExpression); // The trigger function to execute when the cron-time got reached // or when manually triggered const executeTrigger = () => { this.emit([this.helpers.returnJsonArray([{}])]); }; // Register the cron-jobs expressions.forEach((expression) => this.helpers.registerCron({ expression }, executeTrigger)); return { manualTriggerFunction: async () => executeTrigger(), }; } } exports.Cron = Cron; //# sourceMappingURL=Cron.node.js.map