feat(Trello Node) Add support for board members and credential tests (#3201)

* adds support for trello board member operations: inviteMemberByEmail, addMember, removeMember, getMembers

* lintfix

* format fixes

* remove unnecessary variable and assign to qs on same line

* fix description

* Moved Board Members to their own resource

* Removed members from board resource...

* Added return all limits to get members

* adds info about Trello premium feature in description

* Improvements from internal review

*  Improvements

* Changed credentials to use new system and implemented test

*  Improvements

* fix(core): Fix issue with fixedCollection having all default values

* 👕 Fix lint issue

Co-authored-by: Jonathan Bennetts <jonathan.bennetts@gmail.com>
Co-authored-by: ricardo <ricardoespinoza105@gmail.com>
Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
This commit is contained in:
Cristobal Schlaubitz Garcia
2022-05-15 19:48:17 +02:00
committed by GitHub
parent 7ced65484f
commit d8870ecbff
7 changed files with 440 additions and 18 deletions

View File

@@ -9,7 +9,9 @@ import {
} from 'request';
import {
IDataObject, NodeApiError, NodeOperationError,
IDataObject,
JsonObject,
NodeApiError,
} from 'n8n-workflow';
/**
@@ -22,16 +24,9 @@ import {
* @returns {Promise<any>}
*/
export async function apiRequest(this: IHookFunctions | IExecuteFunctions | ILoadOptionsFunctions, method: string, endpoint: string, body: object, query?: IDataObject): Promise<any> { // tslint:disable-line:no-any
const credentials = await this.getCredentials('trelloApi');
query = query || {};
query.key = credentials.apiKey;
query.token = credentials.apiToken;
const options: OptionsWithUri = {
headers: {
},
method,
body,
qs: query,
@@ -40,9 +35,9 @@ export async function apiRequest(this: IHookFunctions | IExecuteFunctions | ILoa
};
try {
return await this.helpers.request!(options);
} catch (error) {
throw new NodeApiError(this.getNode(), error);
return await this.helpers.requestWithAuthentication.call(this, 'trelloApi', options);
} catch(error) {
throw new NodeApiError(this.getNode(), error as JsonObject);
}
}