UNPKG

@luka-cat-mimi/n8n-nodes-feishu-project

Version:
121 lines 3.69 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.getSpaceList = getSpaceList; exports.getSpaceDetails = getSpaceDetails; exports.getWorkItemTypes = getWorkItemTypes; exports.getWorkItemFieldMeta = getWorkItemFieldMeta; exports.mapFeishuFieldTypeToN8n = mapFeishuFieldTypeToN8n; exports.getWorkflowTemplates = getWorkflowTemplates; exports.getWorkItemFieldsAll = getWorkItemFieldsAll; const RequestUtils_1 = __importDefault(require("../help/utils/RequestUtils")); async function getSpaceList() { const credentials = await this.getCredentials('feishuProjectApi'); const body = { user_key: credentials.userId, }; const response = await RequestUtils_1.default.request.call(this, { method: 'POST', url: '/open_api/projects', body, }); if (Array.isArray(response)) { return response; } return []; } async function getSpaceDetails(projectKeys) { if (!projectKeys || projectKeys.length === 0) { return []; } const limitedKeys = projectKeys.slice(0, 100); const credentials = await this.getCredentials('feishuProjectApi'); const body = { project_keys: limitedKeys, user_key: credentials.userId, }; const response = await RequestUtils_1.default.request.call(this, { method: 'POST', url: '/open_api/projects/detail', body, }); if (response && typeof response === 'object') { return Object.values(response); } return []; } async function getWorkItemTypes(projectKey) { if (!projectKey) { return []; } const response = await RequestUtils_1.default.request.call(this, { method: 'GET', url: `/open_api/${projectKey}/work_item/all-types`, }); if (Array.isArray(response)) { return response; } return []; } async function getWorkItemFieldMeta(projectKey, workItemTypeKey) { if (!projectKey || !workItemTypeKey) { return []; } return await RequestUtils_1.default.request.call(this, { method: 'GET', url: `/open_api/${projectKey}/work_item/${workItemTypeKey}/meta`, }); } function mapFeishuFieldTypeToN8n(feishuType) { switch (feishuType) { case 'number': case 'float': case 'integer': return 'number'; case 'date': case 'datetime': return 'dateTime'; case 'boolean': case 'checkbox': return 'boolean'; case 'select': case 'status': case 'priority': case 'bug_level': return 'options'; default: return 'string'; } } async function getWorkflowTemplates(projectKey, workItemTypeKey) { if (!projectKey || !workItemTypeKey) { return []; } const response = await RequestUtils_1.default.request.call(this, { method: 'GET', url: `/open_api/${projectKey}/template_list/${workItemTypeKey}`, }); if (Array.isArray(response)) { return response; } return []; } async function getWorkItemFieldsAll(projectKey, workItemTypeKey) { if (!projectKey || !workItemTypeKey) { return []; } const response = await RequestUtils_1.default.request.call(this, { method: 'POST', url: `/open_api/${projectKey}/field/all`, body: { work_item_type_key: workItemTypeKey, }, }); if (Array.isArray(response)) { return response; } return []; } //# sourceMappingURL=GenericFunctions.js.map