mirror of
https://github.com/n8n-io/n8n.git
synced 2024-12-25 04:34:06 -08:00
⚡ Make event on Eventbrite Trigger Node optional (#2829)
* Set `event` property as optional * Add some parameter descriptions To please nodelinter, mostly. * Fix UI complaining about missing parameter. * 🚨 Fixed lint isssues * ⚡ Improvements Co-authored-by: Jonathan Bennetts <jonathan.bennetts@gmail.com> Co-authored-by: ricardo <ricardoespinoza105@gmail.com>
This commit is contained in:
parent
29fdd77d7b
commit
5e54249c41
|
@ -26,6 +26,7 @@ export class EventbriteTrigger implements INodeType {
|
|||
group: ['trigger'],
|
||||
version: 1,
|
||||
description: 'Handle Eventbrite events via webhooks',
|
||||
subtitle: '={{$parameter["event"]}}',
|
||||
defaults: {
|
||||
name: 'Eventbrite Trigger',
|
||||
},
|
||||
|
@ -79,7 +80,6 @@ export class EventbriteTrigger implements INodeType {
|
|||
},
|
||||
],
|
||||
default: 'privateKey',
|
||||
description: 'The resource to operate on.',
|
||||
},
|
||||
{
|
||||
displayName: 'Organization',
|
||||
|
@ -90,7 +90,7 @@ export class EventbriteTrigger implements INodeType {
|
|||
loadOptionsMethod: 'getOrganizations',
|
||||
},
|
||||
default: '',
|
||||
description: '',
|
||||
description: 'The Eventbrite Organization to work on',
|
||||
},
|
||||
{
|
||||
displayName: 'Event',
|
||||
|
@ -104,7 +104,7 @@ export class EventbriteTrigger implements INodeType {
|
|||
loadOptionsMethod: 'getEvents',
|
||||
},
|
||||
default: '',
|
||||
description: '',
|
||||
description: 'Limit the triggers to this event',
|
||||
},
|
||||
{
|
||||
displayName: 'Actions',
|
||||
|
@ -174,14 +174,14 @@ export class EventbriteTrigger implements INodeType {
|
|||
],
|
||||
required: true,
|
||||
default: [],
|
||||
description: '',
|
||||
description: 'One or more action to subscribe to.',
|
||||
},
|
||||
{
|
||||
displayName: 'Resolve Data',
|
||||
name: 'resolveData',
|
||||
type: 'boolean',
|
||||
default: true,
|
||||
description: 'By default does the webhook-data only contain the URL to receive the object data manually. If this option gets activated, it will resolve the data automatically.',
|
||||
description: 'By default does the webhook-data only contain the URL to receive the object data manually. If this option gets activated, it will resolve the data automatically',
|
||||
},
|
||||
],
|
||||
};
|
||||
|
@ -206,7 +206,7 @@ export class EventbriteTrigger implements INodeType {
|
|||
// Get all the available events to display them to user so that he can
|
||||
// select them easily
|
||||
async getEvents(this: ILoadOptionsFunctions): Promise<INodePropertyOptions[]> {
|
||||
const returnData: INodePropertyOptions[] = [];
|
||||
const returnData: INodePropertyOptions[] = [{ name: 'All', value: 'all' }];
|
||||
const organization = this.getCurrentNodeParameter('organization');
|
||||
const events = await eventbriteApiRequestAllItems.call(this, 'events', 'GET', `/organizations/${organization}/events`);
|
||||
for (const event of events) {
|
||||
|
@ -264,9 +264,10 @@ export class EventbriteTrigger implements INodeType {
|
|||
actions: actions.join(','),
|
||||
event_id: event,
|
||||
};
|
||||
|
||||
if (event === 'all' || event === '') {
|
||||
delete body.event_id;
|
||||
}
|
||||
const responseData = await eventbriteApiRequest.call(this, 'POST', endpoint, body);
|
||||
|
||||
webhookData.webhookId = responseData.id;
|
||||
return true;
|
||||
},
|
||||
|
|
|
@ -11,7 +11,7 @@ import {
|
|||
} from 'n8n-core';
|
||||
|
||||
import {
|
||||
IDataObject, NodeApiError, NodeOperationError,
|
||||
IDataObject, JsonObject, NodeApiError, NodeOperationError,
|
||||
} from 'n8n-workflow';
|
||||
|
||||
export async function eventbriteApiRequest(this: IHookFunctions | IExecuteFunctions | IExecuteSingleFunctions | ILoadOptionsFunctions | IWebhookFunctions, method: string, resource: string, body: any = {}, qs: IDataObject = {}, uri?: string, option: IDataObject = {}): Promise<any> { // tslint:disable-line:no-any
|
||||
|
@ -38,13 +38,12 @@ export async function eventbriteApiRequest(this: IHookFunctions | IExecuteFuncti
|
|||
}
|
||||
|
||||
options.headers!['Authorization'] = `Bearer ${credentials.apiKey}`;
|
||||
|
||||
return await this.helpers.request!(options);
|
||||
} else {
|
||||
return await this.helpers.requestOAuth2!.call(this, 'eventbriteOAuth2Api', options);
|
||||
}
|
||||
} catch (error) {
|
||||
throw new NodeApiError(this.getNode(), error);
|
||||
throw new NodeApiError(this.getNode(), error as JsonObject);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue