UNPKG

n8n-nodes-tulip

Version:
41 lines 1.81 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.execute = execute; const transport_1 = require("../../../transport"); async function execute(index) { const tableId = this.getNodeParameter('tableId', index); const filters = this.getNodeParameter('filters.filterValues', index, []); const sortOptions = this.getNodeParameter('sortOptions.sortValues', index, []); const body = {}; const qs = {}; const requestMethod = 'GET'; const resolveWithFullResponse = true; const endpoint = `tables/${tableId}/records`; qs.limit = this.getNodeParameter('limit', index); qs.offset = this.getNodeParameter('offset', index); qs.includeTotalCount = this.getNodeParameter('includeTotalCount', index); qs.filterAggregator = this.getNodeParameter('filterAggregator', index); if (filters.length > 0) { const formattedFilters = filters.map(filter => ({ field: filter.columnName, functionType: filter.filterFunction, arg: filter.columnValue, })); qs.filters = JSON.stringify(formattedFilters); } if (sortOptions.length > 0) { const formattedSortOptions = sortOptions.map(filter => ({ sortBy: filter.columnName, sortDir: filter.sortOrder, })); qs.sortOptions = JSON.stringify(formattedSortOptions); } const responseData = await transport_1.apiRequest.call(this, requestMethod, endpoint, body, qs, resolveWithFullResponse); const totalCount = responseData.headers['x-total-count']; const records = responseData.body.map(record => ({ ...record, total_count: totalCount ? parseInt(totalCount, 10) : undefined, })); return this.helpers.returnJsonArray(records); } //# sourceMappingURL=execute.js.map