Improved getall operations

This commit is contained in:
ricardo
2020-03-29 22:08:00 -04:00
parent 0834defedb
commit a86e304d22
6 changed files with 199 additions and 5 deletions

View File

@@ -12,6 +12,7 @@ import {
import {
get,
} from 'lodash';
import { queryResult } from 'pg-promise';
export async function helpscoutApiRequest(this: IExecuteFunctions | IExecuteSingleFunctions | ILoadOptionsFunctions | IHookFunctions, method: string, resource: string, body: any = {}, qs: IDataObject = {}, uri?: string, option: IDataObject = {}): Promise<any> { // tslint:disable-line:no-any
let options: OptionsWithUri = {
@@ -53,13 +54,15 @@ export async function helpscoutApiRequestAllItems(this: IExecuteFunctions | ILoa
const returnData: IDataObject[] = [];
let responseData;
query.size = 50;
let uri;
do {
responseData = await helpscoutApiRequest.call(this, method, endpoint, body, query, uri);
uri = get(responseData, '_links.next.href');
returnData.push.apply(returnData, get(responseData, propertyName));
if (query.limit && query.limit <= returnData.length) {
return returnData;
}
} while (
responseData['_links'] !== undefined &&
responseData['_links'].next !== undefined &&