n8n-nodes-custom-triggers
Version:
Custom trigger nodes for n8n
52 lines (49 loc) • 1.51 kB
text/typescript
import { INodeType, INodeTypeDescription, ITriggerFunctions, ITriggerResponse, NodeConnectionType } from 'n8n-workflow';
export class ProductsTrigger implements INodeType {
description: INodeTypeDescription = {
displayName: 'Sản phẩm Trigger',
name: 'productsTrigger',
group: ['trigger'],
version: 1,
description: 'Trigger node for sản phẩm events',
defaults: {
name: 'Sản phẩm Trigger',
},
inputs: [],
outputs: [NodeConnectionType.Main],
properties: [
{
displayName: 'Event Type',
name: 'eventType',
type: 'options',
options: [
{ name: 'Tạo sản phẩm', value: 'create' },
{ name: 'Cập nhật giá', value: 'price_update' },
{ name: 'Hết hàng', value: 'out_of_stock' },
{ name: 'Nhập kho', value: 'restock' }
],
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: 'Sản phẩm trigger activated',
timestamp: new Date().toISOString(),
},
},
],
]);
},
};
}
}