n8n-nodes-custom-triggers
Version:
Custom trigger nodes for n8n
53 lines (50 loc) • 1.54 kB
text/typescript
import { INodeType, INodeTypeDescription, ITriggerFunctions, ITriggerResponse, NodeConnectionType } from 'n8n-workflow';
export class OrdersTrigger implements INodeType {
description: INodeTypeDescription = {
displayName: 'Đơn hàng Trigger',
name: 'ordersTrigger',
group: ['trigger'],
version: 1,
description: 'Trigger node for đơn hàng events',
defaults: {
name: 'Đơn hàng Trigger',
},
inputs: [],
outputs: [NodeConnectionType.Main],
properties: [
{
displayName: 'Event Type',
name: 'eventType',
type: 'options',
options: [
{ name: 'Tạo mới', value: 'create' },
{ name: 'Cập nhật', value: 'update' },
{ name: 'Hủy đơn', value: 'cancel' },
{ name: 'Hoàn thành', value: 'complete' },
{ name: 'Thanh toán', value: 'payment' }
],
default: 'create',
description: 'Select the event to trigger workflow.',
},
],
};
async trigger(this: ITriggerFunctions): Promise<ITriggerResponse> {
return {
closeFunction: async () => {},
manualTriggerFunction: async () => {
const eventType = this.getNodeParameter('eventType', 'create') as string;
this.emit([
[
{
json: {
eventType,
message: 'Đơn hàng trigger activated',
timestamp: new Date().toISOString(),
},
},
],
]);
},
};
}
}