⚡ Add parameter to include credentials in querystring (Woocommerce) (#1756)
This commit is contained in:
@@ -9,6 +9,7 @@ import {
|
||||
ILoadOptionsFunctions,
|
||||
IWebhookFunctions,
|
||||
} from 'n8n-core';
|
||||
|
||||
import {
|
||||
ICredentialDataDecryptedObject,
|
||||
IDataObject,
|
||||
@@ -36,6 +37,7 @@ export async function woocommerceApiRequest(this: IHookFunctions | IExecuteFunct
|
||||
if (credentials === undefined) {
|
||||
throw new NodeOperationError(this.getNode(), 'No credentials got returned!');
|
||||
}
|
||||
|
||||
let options: OptionsWithUri = {
|
||||
auth: {
|
||||
user: credentials.consumerKey as string,
|
||||
@@ -47,11 +49,16 @@ export async function woocommerceApiRequest(this: IHookFunctions | IExecuteFunct
|
||||
uri: uri || `${credentials.url}/wp-json/wc/v3${resource}`,
|
||||
json: true,
|
||||
};
|
||||
|
||||
if (credentials.includeCredentialsInQuery === true) {
|
||||
delete options.auth;
|
||||
Object.assign(qs, { consumer_key: credentials.consumerKey, consumer_secret: credentials.consumerSecret });
|
||||
}
|
||||
|
||||
if (!Object.keys(body).length) {
|
||||
delete options.form;
|
||||
}
|
||||
options = Object.assign({}, options, option);
|
||||
|
||||
try {
|
||||
return await this.helpers.request!(options);
|
||||
} catch (error) {
|
||||
|
||||
@@ -367,7 +367,7 @@ export class WooCommerce implements INodeType {
|
||||
//https://woocommerce.github.io/woocommerce-rest-api-docs/#retrieve-a-product
|
||||
if (operation === 'get') {
|
||||
const productId = this.getNodeParameter('productId', i) as string;
|
||||
responseData = await woocommerceApiRequest.call(this,'GET', `/products/${productId}`, {}, qs);
|
||||
responseData = await woocommerceApiRequest.call(this, 'GET', `/products/${productId}`, {}, qs);
|
||||
}
|
||||
//https://woocommerce.github.io/woocommerce-rest-api-docs/#list-all-products
|
||||
if (operation === 'getAll') {
|
||||
@@ -413,7 +413,7 @@ export class WooCommerce implements INodeType {
|
||||
qs.status = options.status as string;
|
||||
}
|
||||
if (options.stockStatus) {
|
||||
qs.stock_status = options.stockStatus as string;
|
||||
qs.stock_status = options.stockStatus as string;
|
||||
}
|
||||
if (options.tag) {
|
||||
qs.tag = options.tag as string;
|
||||
@@ -434,7 +434,7 @@ export class WooCommerce implements INodeType {
|
||||
//https://woocommerce.github.io/woocommerce-rest-api-docs/#delete-a-product
|
||||
if (operation === 'delete') {
|
||||
const productId = this.getNodeParameter('productId', i) as string;
|
||||
responseData = await woocommerceApiRequest.call(this,'DELETE', `/products/${productId}`, {}, { force: true });
|
||||
responseData = await woocommerceApiRequest.call(this, 'DELETE', `/products/${productId}`, {}, { force: true });
|
||||
}
|
||||
}
|
||||
if (resource === 'order') {
|
||||
@@ -583,7 +583,7 @@ export class WooCommerce implements INodeType {
|
||||
//https://woocommerce.github.io/woocommerce-rest-api-docs/#retrieve-an-order
|
||||
if (operation === 'get') {
|
||||
const orderId = this.getNodeParameter('orderId', i) as string;
|
||||
responseData = await woocommerceApiRequest.call(this,'GET', `/orders/${orderId}`, {}, qs);
|
||||
responseData = await woocommerceApiRequest.call(this, 'GET', `/orders/${orderId}`, {}, qs);
|
||||
}
|
||||
//https://woocommerce.github.io/woocommerce-rest-api-docs/#list-all-orders
|
||||
if (operation === 'getAll') {
|
||||
@@ -629,7 +629,7 @@ export class WooCommerce implements INodeType {
|
||||
//https://woocommerce.github.io/woocommerce-rest-api-docs/#delete-an-order
|
||||
if (operation === 'delete') {
|
||||
const orderId = this.getNodeParameter('orderId', i) as string;
|
||||
responseData = await woocommerceApiRequest.call(this,'DELETE', `/orders/${orderId}`, {}, { force: true });
|
||||
responseData = await woocommerceApiRequest.call(this, 'DELETE', `/orders/${orderId}`, {}, { force: true });
|
||||
}
|
||||
}
|
||||
if (Array.isArray(responseData)) {
|
||||
|
||||
Reference in New Issue
Block a user