mirror of
https://github.com/n8n-io/n8n.git
synced 2025-03-05 20:50:17 -08:00
⚡ Small improvement on PostmarkTrigger-Node
This commit is contained in:
parent
4ec9952524
commit
97c8af661c
|
@ -66,13 +66,15 @@ export function convertTriggerObjectToStringArray (webhookObject : any) : string
|
||||||
webhookEvents.push('bounce');
|
webhookEvents.push('bounce');
|
||||||
}
|
}
|
||||||
if (triggers.Bounce.IncludeContent) {
|
if (triggers.Bounce.IncludeContent) {
|
||||||
webhookEvents.push('bounceContent');
|
webhookEvents.push('includeContent');
|
||||||
}
|
}
|
||||||
if (triggers.SpamComplaint.Enabled) {
|
if (triggers.SpamComplaint.Enabled) {
|
||||||
webhookEvents.push('spamComplaint');
|
webhookEvents.push('spamComplaint');
|
||||||
}
|
}
|
||||||
if (triggers.SpamComplaint.IncludeContent) {
|
if (triggers.SpamComplaint.IncludeContent) {
|
||||||
webhookEvents.push('spamComplaintContent');
|
if (!webhookEvents.includes('IncludeContent')) {
|
||||||
|
webhookEvents.push('includeContent');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (triggers.SubscriptionChange.Enabled) {
|
if (triggers.SubscriptionChange.Enabled) {
|
||||||
webhookEvents.push('subscriptionChange');
|
webhookEvents.push('subscriptionChange');
|
||||||
|
@ -89,5 +91,3 @@ export function eventExists (currentEvents : string[], webhookEvents: string[])
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -50,55 +50,69 @@ export class PostmarkTrigger implements INodeType {
|
||||||
type: 'multiOptions',
|
type: 'multiOptions',
|
||||||
options: [
|
options: [
|
||||||
{
|
{
|
||||||
name: 'Open',
|
name: 'Bounce',
|
||||||
value: 'open',
|
value: 'bounce',
|
||||||
description: 'Trigger webhook on open.'
|
description: 'Trigger on bounce.',
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'First Open',
|
|
||||||
value: 'firstOpen',
|
|
||||||
description: 'Trigger on first open only.'
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'Click',
|
name: 'Click',
|
||||||
value: 'click',
|
value: 'click',
|
||||||
description: 'Trigger on click.'
|
description: 'Trigger on click.',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'Delivery',
|
name: 'Delivery',
|
||||||
value: 'delivery',
|
value: 'delivery',
|
||||||
description: 'Trigger on delivery.'
|
description: 'Trigger on delivery.',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'Bounce',
|
name: 'Open',
|
||||||
value: 'bounce',
|
value: 'open',
|
||||||
description: 'Trigger on bounce.'
|
description: 'Trigger webhook on open.',
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Bounce Content',
|
|
||||||
value: 'bounceContent',
|
|
||||||
description: 'Webhook will send full bounce content.'
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'Spam Complaint',
|
name: 'Spam Complaint',
|
||||||
value: 'spamComplaint',
|
value: 'spamComplaint',
|
||||||
description: 'Trigger on spam complaint.'
|
description: 'Trigger on spam complaint.',
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Spam Complaint Content',
|
|
||||||
value: 'spamComplaintContent',
|
|
||||||
description: 'Webhook will send full spam complaint content.'
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'Subscription Change',
|
name: 'Subscription Change',
|
||||||
value: 'subscriptionChange',
|
value: 'subscriptionChange',
|
||||||
description: 'Trigger on subscription change.'
|
description: 'Trigger on subscription change.',
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
default: [],
|
default: [],
|
||||||
required: true,
|
required: true,
|
||||||
description: 'Webhook events that will be enabled for that endpoint.',
|
description: 'Webhook events that will be enabled for that endpoint.',
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
displayName: 'First Open',
|
||||||
|
name: 'firstOpen',
|
||||||
|
description: 'Only fires on first open for event "Open".',
|
||||||
|
type: 'boolean',
|
||||||
|
default: false,
|
||||||
|
displayOptions: {
|
||||||
|
show: {
|
||||||
|
events: [
|
||||||
|
'open',
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
displayName: 'Include Content',
|
||||||
|
name: 'includeContent',
|
||||||
|
description: 'Includes message content for events "Bounce" and "Spam Complaint".',
|
||||||
|
type: 'boolean',
|
||||||
|
default: false,
|
||||||
|
displayOptions: {
|
||||||
|
show: {
|
||||||
|
events: [
|
||||||
|
'bounce',
|
||||||
|
'spamComplaint',
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
],
|
],
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -110,6 +124,12 @@ export class PostmarkTrigger implements INodeType {
|
||||||
const webhookData = this.getWorkflowStaticData('node');
|
const webhookData = this.getWorkflowStaticData('node');
|
||||||
const webhookUrl = this.getNodeWebhookUrl('default');
|
const webhookUrl = this.getNodeWebhookUrl('default');
|
||||||
const events = this.getNodeParameter('events') as string[];
|
const events = this.getNodeParameter('events') as string[];
|
||||||
|
if (this.getNodeParameter('includeContent') as boolean) {
|
||||||
|
events.push('includeContent');
|
||||||
|
}
|
||||||
|
if (this.getNodeParameter('firstOpen') as boolean) {
|
||||||
|
events.push('firstOpen');
|
||||||
|
}
|
||||||
|
|
||||||
// Get all webhooks
|
// Get all webhooks
|
||||||
const endpoint = `/webhooks`;
|
const endpoint = `/webhooks`;
|
||||||
|
@ -169,10 +189,7 @@ export class PostmarkTrigger implements INodeType {
|
||||||
|
|
||||||
if (events.includes('open')) {
|
if (events.includes('open')) {
|
||||||
body.Triggers.Open.Enabled = true;
|
body.Triggers.Open.Enabled = true;
|
||||||
}
|
body.Triggers.Open.PostFirstOpenOnly = this.getNodeParameter('firstOpen') as boolean;
|
||||||
if (events.includes('firstOpen')) {
|
|
||||||
body.Triggers.Open.Enabled = true;
|
|
||||||
body.Triggers.Open.PostFirstOpenOnly = true;
|
|
||||||
}
|
}
|
||||||
if (events.includes('click')) {
|
if (events.includes('click')) {
|
||||||
body.Triggers.Click.Enabled = true;
|
body.Triggers.Click.Enabled = true;
|
||||||
|
@ -182,15 +199,11 @@ export class PostmarkTrigger implements INodeType {
|
||||||
}
|
}
|
||||||
if (events.includes('bounce')) {
|
if (events.includes('bounce')) {
|
||||||
body.Triggers.Bounce.Enabled = true;
|
body.Triggers.Bounce.Enabled = true;
|
||||||
}
|
body.Triggers.Bounce.IncludeContent = this.getNodeParameter('includeContent') as boolean;
|
||||||
if (events.includes('bounceContent')) {
|
|
||||||
body.Triggers.Bounce.IncludeContent = true;
|
|
||||||
}
|
}
|
||||||
if (events.includes('spamComplaint')) {
|
if (events.includes('spamComplaint')) {
|
||||||
body.Triggers.SpamComplaint.Enabled = true;
|
body.Triggers.SpamComplaint.Enabled = true;
|
||||||
}
|
body.Triggers.SpamComplaint.IncludeContent = this.getNodeParameter('includeContent') as boolean;
|
||||||
if (events.includes('spamComplaintContent')) {
|
|
||||||
body.Triggers.SpamComplaint.IncludeContent = true;
|
|
||||||
}
|
}
|
||||||
if (events.includes('subscriptionChange')) {
|
if (events.includes('subscriptionChange')) {
|
||||||
body.Triggers.SubscriptionChange.Enabled = true;
|
body.Triggers.SubscriptionChange.Enabled = true;
|
||||||
|
|
Loading…
Reference in a new issue