🐛 Fix Stripe pagination (#2402)

* Fix Stripe pagination

* Fix displayOptions for type
This commit is contained in:
Iván Ovejero
2021-11-04 01:42:57 +01:00
committed by GitHub
parent aaa39876f9
commit a3bfdd3805
3 changed files with 27 additions and 11 deletions

View File

@@ -154,19 +154,25 @@ export async function loadResource(
export async function handleListing(
this: IExecuteFunctions,
resource: string,
i: number,
qs: IDataObject = {},
) {
const returnData: IDataObject[] = [];
let responseData;
responseData = await stripeApiRequest.call(this, 'GET', `/${resource}s`, qs, {});
responseData = responseData.data;
const returnAll = this.getNodeParameter('returnAll', i) as boolean;
const limit = this.getNodeParameter('limit', i, 0) as number;
const returnAll = this.getNodeParameter('returnAll', 0) as boolean;
do {
responseData = await stripeApiRequest.call(this, 'GET', `/${resource}s`, {}, qs);
returnData.push(...responseData.data);
if (!returnAll) {
const limit = this.getNodeParameter('limit', 0) as number;
responseData = responseData.slice(0, limit);
}
if (!returnAll && returnData.length >= limit) {
return returnData.slice(0, limit);
}
return responseData;
qs.starting_after = returnData[returnData.length - 1].id;
} while (responseData.has_more);
return returnData;
}