@luka-cat-mimi/n8n-nodes-feishu-project
Version:
飞书项目 N8N 集成插件,支持附件管理等功能
61 lines • 2.88 kB
JavaScript
;
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 sharedOptions_1 = require("../../../help/utils/sharedOptions");
const SpaceDetailOperate = {
name: '获取空间详情',
value: 'space:detail',
order: 20,
options: [
{
displayName: '项目Key列表',
name: 'project_keys',
type: 'string',
default: '',
description: '安装插件的飞书项目空间 (project_key) 列表,上限是100个。project_key 在飞书项目空间双击空间名称获取。project_keys 和 simple_names 不可同时为空。',
},
{
displayName: '空间名称列表',
name: 'simple_names',
type: 'string',
default: '',
description: '安装插件的飞书项目空间 (simple_name) 列表。simple_name 一般在飞书项目空间 URL 中获取。例如空间 URL为"https://project.feishu.cn/doc/overview",则 simple_name 为"doc"。project_keys 和 simple_names 不可同时为空。',
},
sharedOptions_1.commonOptions,
],
async call(index) {
const projectKeys = this.getNodeParameter('project_keys', index);
const simpleNames = this.getNodeParameter('simple_names', index);
const options = this.getNodeParameter('options', index, {});
const body = {};
const projectKeysArray = Array.isArray(projectKeys)
? projectKeys.filter((key) => key && key.trim())
: (projectKeys && projectKeys.trim() ? [projectKeys] : []);
if (projectKeysArray.length > 0) {
body.project_keys = projectKeysArray;
}
const simpleNamesArray = Array.isArray(simpleNames)
? simpleNames.filter((name) => name && name.trim())
: (simpleNames && simpleNames.trim() ? [simpleNames] : []);
if (simpleNamesArray.length > 0) {
body.simple_names = simpleNamesArray;
}
if (projectKeysArray.length === 0 && simpleNamesArray.length === 0) {
throw new Error('project_keys 和 simple_names 不可同时为空,请至少填写其中一个参数');
}
const credentials = await this.getCredentials('feishuProjectApi');
body.user_key = credentials.userId;
const response = await RequestUtils_1.default.request.call(this, {
method: 'POST',
url: `/open_api/projects/detail`,
body: body,
timeout: options.timeout,
});
return Object.values(response);
}
};
exports.default = SpaceDetailOperate;
//# sourceMappingURL=SpaceDetailOperate.js.map