feat(ERPNext Node): Add credential test and add support for unauthorized certs (#3732)

*  Add cred injection, cred testing, allow unauthorized certs

* Add support for skipping SSL for cred testing

* 📘 Add partial override for request options types (#3739)

* Change field names and fix error handling

* Fix typo

Co-authored-by: Omar Ajoue <krynble@gmail.com>
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
This commit is contained in:
agobrech
2022-07-20 13:50:16 +02:00
committed by GitHub
parent 1965407030
commit a02b206170
6 changed files with 71 additions and 39 deletions

View File

@@ -12,7 +12,6 @@ import {
IHookFunctions,
IWebhookFunctions,
NodeApiError,
NodeOperationError
} from 'n8n-workflow';
export async function erpNextApiRequest(
@@ -31,13 +30,13 @@ export async function erpNextApiRequest(
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
Authorization: `token ${credentials.apiKey}:${credentials.apiSecret}`,
},
method,
body,
qs: query,
uri: uri || `${baseUrl}${resource}`,
json: true,
rejectUnauthorized: !credentials.allowUnauthorizedCerts as boolean,
};
options = Object.assign({}, options, option);
@@ -50,7 +49,7 @@ export async function erpNextApiRequest(
delete options.qs;
}
try {
return await this.helpers.request!(options);
return await this.helpers.requestWithAuthentication.call(this, 'erpNextApi',options);
} catch (error) {
if (error.statusCode === 403) {
throw new NodeApiError(this.getNode(), { message: 'DocType unavailable.' });
@@ -105,4 +104,5 @@ type ERPNextApiCredentials = {
environment: 'cloudHosted' | 'selfHosted';
subdomain?: string;
domain?: string;
allowUnauthorizedCerts?: boolean;
};