Skip to content

Commit

Permalink
fix(ERPNext Node): Fix issue with credential test and add frappe clou…
Browse files Browse the repository at this point in the history
…d url (#6283)
  • Loading branch information
Joffcom authored May 22, 2023
1 parent 3750605 commit 2a2b645
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 3 deletions.
36 changes: 34 additions & 2 deletions packages/nodes-base/credentials/ERPNextApi.credentials.ts
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,28 @@ export class ERPNextApi implements ICredentialType {
},
},
},
{
displayName: 'Domain',
name: 'domain',
type: 'options',
default: 'erpnext.com',
options: [
{
name: 'erpnext.com',
value: 'erpnext.com',
},
{
name: 'frappe.cloud',
value: 'frappe.cloud',
},
],
description: 'Domain for your cloud hosted ERPNext instance.',
displayOptions: {
show: {
environment: ['cloudHosted'],
},
},
},
{
displayName: 'Domain',
name: 'domain',
Expand Down Expand Up @@ -90,9 +112,19 @@ export class ERPNextApi implements ICredentialType {
test: ICredentialTestRequest = {
request: {
baseURL:
'={{$credentials.environment === "cloudHosted" ? "https://" + $credentials.subdomain + ".erpnext.com" : $credentials.domain}}',
url: '/api/resource/Doctype',
'={{$credentials.environment === "cloudHosted" ? "https://" + $credentials.subdomain + "." + $credentials.domain : $credentials.domain}}',
url: '/api/method/frappe.auth.get_logged_user',
skipSslCertificateValidation: '={{ $credentials.allowUnauthorizedCerts }}',
},
rules: [
{
type: 'responseSuccessBody',
properties: {
key: 'message',
value: undefined,
message: 'Unable to authenticate, Check the credentials and the url',
},
},
],
};
}
2 changes: 1 addition & 1 deletion packages/nodes-base/nodes/ERPNext/GenericFunctions.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import { NodeApiError } from 'n8n-workflow';
* Return the base API URL based on the user's environment.
*/
const getBaseUrl = ({ environment, domain, subdomain }: ERPNextApiCredentials) =>
environment === 'cloudHosted' ? `https://${subdomain}.erpnext.com` : domain;
environment === 'cloudHosted' ? `https://${subdomain}.${domain}` : domain;

export async function erpNextApiRequest(
this: IExecuteFunctions | IWebhookFunctions | IHookFunctions | ILoadOptionsFunctions,
Expand Down

0 comments on commit 2a2b645

Please sign in to comment.