UNPKG

n8n-nodes-feishu-fork

Version:

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

96 lines 3.85 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 wording_1 = require("../../../help/wording"); const description_1 = require("../../../help/description"); exports.default = { name: wording_1.WORDING.CalendarEventGetList, value: "getEventList", order: 189, options: [ description_1.DESCRIPTIONS.CALENDAR_ID, description_1.DESCRIPTIONS.WHETHER_PAGING, { ...description_1.DESCRIPTIONS.PAGE_SIZE, typeOptions: { minValue: 50, maxValue: 1000, numberPrecision: 0, }, }, description_1.DESCRIPTIONS.PAGE_TOKEN, { displayName: wording_1.WORDING.Options, name: 'options', type: 'collection', placeholder: wording_1.WORDING.AddField, default: {}, options: [ description_1.DESCRIPTIONS.USER_ID_TYPE, description_1.DESCRIPTIONS.ANCHOR_TIME, description_1.DESCRIPTIONS.SYNC_TOKEN, { ...description_1.DESCRIPTIONS.START_TIME, required: false, }, { ...description_1.DESCRIPTIONS.END_TIME, required: false, }, ], }, { displayName: `<a target="_blank" href="https://open.feishu.cn/document/server-docs/calendar-v4/calendar-event/list">${wording_1.WORDING.OpenDocument}</a>`, name: 'notice', type: 'notice', default: '', }, ], async call(index) { const calendarId = this.getNodeParameter('calendar_id', index, undefined, { extractValue: true, }); const options = this.getNodeParameter('options', index, {}); const whetherPaging = this.getNodeParameter('whether_paging', index, false); const pageSize = this.getNodeParameter('page_size', index, 1000); let pageToken = this.getNodeParameter('page_token', index, ''); const anchorTime = options.anchor_time || ''; let syncToken = options.sync_token || ''; const startTime = options.start_time || ''; const endTime = options.end_time || ''; const userIdType = options.user_id_type || 'open_id'; const allEvents = []; let hasMore = false; do { const { data: { has_more, page_token, items, sync_token }, } = await RequestUtils_1.default.request.call(this, { method: 'GET', url: `/open-apis/calendar/v4/calendars/${calendarId}/events`, qs: { page_size: pageSize, user_id_type: userIdType, ...(anchorTime && { anchor_time: anchorTime }), ...(pageToken && { page_token: pageToken }), ...(syncToken && { sync_token: syncToken }), ...(startTime && { start_time: new Date(startTime).toISOString() }), ...(endTime && { end_time: new Date(endTime).toISOString() }), }, }); hasMore = has_more; pageToken = page_token; syncToken = sync_token; if (items) { allEvents.push(...items); } } while (!whetherPaging && hasMore); return { has_more: hasMore, page_token: pageToken, sync_token: syncToken, items: allEvents, }; }, }; //# sourceMappingURL=EventGetList.operation.js.map