UNPKG

n8n-nodes-base

Version:

Base nodes of n8n

81 lines 2.36 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.theHiveApiQuery = theHiveApiQuery; const requestApi_1 = require("./requestApi"); const utils_1 = require("../helpers/utils"); async function theHiveApiQuery(scope, filters, sortFields, limit, returnCount = false, extraData) { const query = []; if (scope.id) { query.push({ _name: scope.query, idOrName: scope.id, }); } else { query.push({ _name: scope.query, }); } if (scope.restrictTo) { query.push({ _name: scope.restrictTo, }); } if (filters && Array.isArray(filters) && filters.length) { const filter = { _name: 'filter', _and: filters.filter((f) => f.field).map(utils_1.constructFilter), }; query.push(filter); } if (sortFields?.length && !returnCount) { const sort = { _name: 'sort', _fields: sortFields.map((field) => { return { [`${field.field}`]: field.direction, }; }), }; query.push(sort); } let responseData = []; if (returnCount) { query.push({ _name: 'count', }); const count = await requestApi_1.theHiveApiRequest.call(this, 'POST', '/v1/query', { query }); responseData.push({ count }); } else if (limit) { const pagination = { _name: 'page', from: 0, to: limit, extraData, }; query.push(pagination); responseData = await requestApi_1.theHiveApiRequest.call(this, 'POST', '/v1/query', { query }); } else { let to = 500; let from = 0; let response = []; do { const pagination = { _name: 'page', from, to, extraData, }; response = await requestApi_1.theHiveApiRequest.call(this, 'POST', '/v1/query', { query: [...query, pagination], }); responseData = responseData.concat(response || []); from = to; to += 500; } while (response?.length); } return responseData; } //# sourceMappingURL=queryHelper.js.map