UNPKG

n8n-nodes-feishu-fork

Version:

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

197 lines 6.77 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.larkApiRequestCalendarEventList = larkApiRequestCalendarEventList; exports.larkApiRequestCalendarList = larkApiRequestCalendarList; exports.larkApiRequestBaseRoleList = larkApiRequestBaseRoleList; exports.larkApiRequestTableFieldList = larkApiRequestTableFieldList; exports.larkApiRequestTableViewList = larkApiRequestTableViewList; exports.larkApiRequestTableList = larkApiRequestTableList; exports.larkApiRequestMessageResourceData = larkApiRequestMessageResourceData; exports.getFileList = getFileList; const n8n_workflow_1 = require("n8n-workflow"); const RequestUtils_1 = __importDefault(require("../help/utils/RequestUtils")); async function larkApiRequestCalendarEventList(options) { const { calendarId, query, user_id_type } = options; const allEvents = []; let hasMore = false; let pageToken = ''; do { const { data: { page_token, items }, } = await RequestUtils_1.default.request.call(this, { method: 'POST', url: `/open-apis/calendar/v4/calendars/${calendarId}/events/search`, qs: { user_id_type, ...(pageToken && { page_token: pageToken }), page_size: 100, }, body: { query, }, }); hasMore = page_token ? true : false; pageToken = page_token; if (items) { allEvents.push(...items); } } while (hasMore); return allEvents; } async function larkApiRequestCalendarList() { const allCalendars = []; let hasMore = false; let pageToken = ''; do { const { data: { has_more, page_token, calendar_list }, } = await RequestUtils_1.default.request.call(this, { method: 'GET', url: `/open-apis/calendar/v4/calendars`, qs: { ...(pageToken && { page_token: pageToken }), page_size: 1000, }, }); hasMore = has_more; pageToken = page_token; if (calendar_list) { allCalendars.push(...calendar_list); } } while (hasMore); return allCalendars; } async function larkApiRequestBaseRoleList(options) { const allRoles = []; let hasMore = false; let pageToken = ''; const { app_token } = options; do { const { data: { has_more, page_token, items }, } = await RequestUtils_1.default.request.call(this, { method: 'GET', url: `/open-apis/base/v2/apps/${app_token}/roles`, qs: { ...(pageToken && { page_token: pageToken }), page_size: 100, }, }); hasMore = has_more; pageToken = page_token; if (items) { allRoles.push(...items); } } while (hasMore); return allRoles; } async function larkApiRequestTableFieldList(options) { const allFields = []; let hasMore = false; let pageToken = ''; const { app_token, table_id } = options; do { const { data: { has_more, page_token, items }, } = await RequestUtils_1.default.request.call(this, { method: 'GET', url: `/open-apis/bitable/v1/apps/${app_token}/tables/${table_id}/fields`, qs: { page_token: pageToken, page_size: 100, }, }); hasMore = has_more; pageToken = page_token; if (items) { allFields.push(...items); } } while (hasMore); return allFields; } async function larkApiRequestTableViewList(options) { const allViews = []; let hasMore = false; let pageToken = ''; const { app_token, table_id, user_id_type } = options; do { const { data: { has_more, page_token, items }, } = await RequestUtils_1.default.request.call(this, { method: 'GET', url: `/open-apis/bitable/v1/apps/${app_token}/tables/${table_id}/views`, qs: { page_token: pageToken, page_size: 100, user_id_type, }, }); hasMore = has_more; pageToken = page_token; if (items) { allViews.push(...items); } } while (hasMore); return allViews; } async function larkApiRequestTableList(appToken) { const allTables = []; let hasMore = false; let pageToken = ''; do { const { data: { has_more, page_token, items }, } = await RequestUtils_1.default.request.call(this, { method: 'GET', url: `/open-apis/bitable/v1/apps/${appToken}/tables`, qs: { page_token: pageToken, page_size: 100, }, }); hasMore = has_more; pageToken = page_token; if (items) { allTables.push(...items); } } while (hasMore); return allTables; } async function larkApiRequestMessageResourceData(options) { const { type, messageId, key } = options; const data = await RequestUtils_1.default.request.call(this, { method: 'GET', url: `/open-apis/im/v1/messages/${messageId}/resources/${key}`, qs: { type, }, encoding: 'arraybuffer', json: false, }); return Buffer.from(data).toString(n8n_workflow_1.BINARY_ENCODING); } async function getFileList(type, order_by = 'EditedTime', direction = 'DESC', user_id_type = 'open_id', folderToken) { let hasMore = true; let pageToken = ''; const allFiles = []; while (hasMore) { const response = await RequestUtils_1.default.request.call(this, { method: 'GET', url: `/open-apis/drive/v1/files`, qs: { page_size: 100, page_token: pageToken, folder_token: folderToken, order_by, direction, user_id_type, }, }); const responseData = response.data; const { files, has_more, next_page_token: nextPageToken } = responseData; hasMore = has_more; pageToken = nextPageToken || ''; for (const file of files) { if (type.includes(file.type)) { allFiles.push(file); } if (file.type === "folder") { const results = await getFileList.call(this, type, order_by, direction, user_id_type, file.token); allFiles.push(...results); } } } return allFiles; } //# sourceMappingURL=GenericFunctions.js.map