| | import { ITriggerFunctions, INodeType, INodeTypeDescription, ITriggerResponse } from 'n8n-workflow'; |
| |
|
| | export class ClassNameReplace implements INodeType { |
| | description: INodeTypeDescription = { |
| | displayName: 'DisplayNameReplace', |
| | name: 'N8nNameReplace', |
| | group: ['trigger'], |
| | version: 1, |
| | description: 'NodeDescriptionReplace', |
| | defaults: { |
| | name: 'DisplayNameReplace', |
| | color: '#00FF00', |
| | }, |
| | inputs: [], |
| | outputs: ['main'], |
| | properties: [ |
| | |
| | |
| | { |
| | displayName: 'Interval', |
| | name: 'interval', |
| | type: 'number', |
| | typeOptions: { |
| | minValue: 1, |
| | }, |
| | default: 1, |
| | description: 'Every how many minutes the workflow should be triggered.', |
| | }, |
| | ], |
| | }; |
| |
|
| | async trigger(this: ITriggerFunctions): Promise<ITriggerResponse> { |
| | const interval = this.getNodeParameter('interval', 1) as number; |
| |
|
| | if (interval <= 0) { |
| | throw new Error('The interval has to be set to at least 1 or higher!'); |
| | } |
| |
|
| | const executeTrigger = () => { |
| | |
| | |
| | const entry = { |
| | exampleKey: 'exampleData', |
| | }; |
| | this.emit([this.helpers.returnJsonArray([entry])]); |
| | }; |
| |
|
| | |
| | |
| | const intervalValue = interval * 60 * 1000; |
| | const intervalObj = setInterval(executeTrigger, intervalValue); |
| |
|
| | |
| | |
| | async function closeFunction() { |
| | clearInterval(intervalObj); |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | async function manualTriggerFunction() { |
| | executeTrigger(); |
| | } |
| |
|
| | return { |
| | closeFunction, |
| | manualTriggerFunction, |
| | }; |
| | } |
| | } |
| |
|