UNPKG

n8n-nodes-feishu-fork

Version:

n8n custom nodes for n8n to interact with Feishu/Lark, including Lark Bot, Lark MCP, and Lark Trigger.

76 lines 3.02 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const RequestUtils_1 = __importDefault(require("../../../help/utils/RequestUtils")); const description_1 = require("../../../help/description"); const wording_1 = require("../../../help/wording"); exports.default = { name: wording_1.WORDING.SearchTableRecords, value: "searchRecords", order: 183, options: [ description_1.DESCRIPTIONS.BASE_APP_TOKEN, description_1.DESCRIPTIONS.BASE_TABLE_ID, description_1.DESCRIPTIONS.WHETHER_PAGING, description_1.DESCRIPTIONS.PAGE_TOKEN, description_1.DESCRIPTIONS.PAGE_SIZE, description_1.DESCRIPTIONS.REQUEST_BODY, { displayName: 'Options(选项)', name: 'options', type: 'collection', placeholder: 'Add Field', default: {}, options: [description_1.DESCRIPTIONS.USER_ID_TYPE], }, { displayName: `<a target="_blank" href="https://open.feishu.cn/document/docs/bitable-v1/app-table-record/search">${wording_1.WORDING.OpenDocument}</a>`, name: 'notice', type: 'notice', default: '', }, ], async call(index) { const app_token = this.getNodeParameter('app_token', index, undefined, { extractValue: true, }); const table_id = this.getNodeParameter('table_id', index, undefined, { extractValue: true, }); const body = this.getNodeParameter('body', index, undefined, { ensureType: 'json', }); let pageToken = this.getNodeParameter('page_token', index, ''); const pageSize = this.getNodeParameter('page_size', index, 500); const whetherPaging = this.getNodeParameter('whether_paging', index, false); const options = this.getNodeParameter('options', index, {}); const user_id_type = options.user_id_type || 'open_id'; const allRecords = []; let hasMore = false; do { const { data: { has_more, page_token, items }, } = await RequestUtils_1.default.request.call(this, { method: 'POST', url: `/open-apis/bitable/v1/apps/${app_token}/tables/${table_id}/records/search`, qs: { user_id_type, page_token: pageToken, page_size: pageSize, }, body, }); hasMore = has_more; pageToken = page_token; if (items) { allRecords.push(...items); } } while (!whetherPaging && hasMore); return { has_more: hasMore, ...(pageToken && { page_token: pageToken }), items: allRecords, }; }, }; //# sourceMappingURL=RecordSearch.operation.js.map