@luka-cat-mimi/n8n-nodes-feishu 0.5.5 → 0.5.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/README.md +12 -3
  2. package/dist/nodes/FeishuNode/resource/bitable/BitableTableRecrodSearchOperate.js +63 -21
  3. package/dist/nodes/FeishuNode/resource/bitable/BitableTableRecrodSearchOperate.js.map +1 -1
  4. package/dist/nodes/FeishuNode/resource/space/SpaceExportOperate.d.ts +3 -0
  5. package/dist/nodes/FeishuNode/resource/space/SpaceExportOperate.js +281 -0
  6. package/dist/nodes/FeishuNode/resource/space/SpaceExportOperate.js.map +1 -0
  7. package/dist/nodes/FeishuNode/resource/space/SpaceFileUploadOperate.d.ts +3 -0
  8. package/dist/nodes/FeishuNode/resource/space/SpaceFileUploadOperate.js +107 -0
  9. package/dist/nodes/FeishuNode/resource/space/SpaceFileUploadOperate.js.map +1 -0
  10. package/dist/nodes/FeishuNode/resource/space/SpaceSubscribeOperate.d.ts +3 -0
  11. package/dist/nodes/FeishuNode/resource/space/SpaceSubscribeOperate.js +131 -0
  12. package/dist/nodes/FeishuNode/resource/space/SpaceSubscribeOperate.js.map +1 -0
  13. package/dist/nodes/FeishuNode/resource/space/SpaceUnsubscribeOperate.d.ts +3 -0
  14. package/dist/nodes/FeishuNode/resource/space/SpaceUnsubscribeOperate.js +131 -0
  15. package/dist/nodes/FeishuNode/resource/space/SpaceUnsubscribeOperate.js.map +1 -0
  16. package/dist/nodes/FeishuNode/resource/wiki_spaces/WikiSpacesGetListOperate.js +59 -48
  17. package/dist/nodes/FeishuNode/resource/wiki_spaces/WikiSpacesGetListOperate.js.map +1 -1
  18. package/dist/nodes/FeishuNode/resource/wiki_spaces/WikiSpacesMembersGetOperate.js +59 -22
  19. package/dist/nodes/FeishuNode/resource/wiki_spaces/WikiSpacesMembersGetOperate.js.map +1 -1
  20. package/dist/nodes/FeishuNode/resource/wiki_spaces/WikiSpacesNodeCreateHierarchyOperate.d.ts +3 -0
  21. package/dist/nodes/FeishuNode/resource/wiki_spaces/WikiSpacesNodeCreateHierarchyOperate.js +188 -0
  22. package/dist/nodes/FeishuNode/resource/wiki_spaces/WikiSpacesNodeCreateHierarchyOperate.js.map +1 -0
  23. package/dist/nodes/FeishuNode/resource/wiki_spaces/WikiSpacesNodeCreateOperate.js +8 -3
  24. package/dist/nodes/FeishuNode/resource/wiki_spaces/WikiSpacesNodeCreateOperate.js.map +1 -1
  25. package/dist/nodes/FeishuNode/resource/wiki_spaces/WikiSpacesNodeGetChildrenOperate.js +164 -24
  26. package/dist/nodes/FeishuNode/resource/wiki_spaces/WikiSpacesNodeGetChildrenOperate.js.map +1 -1
  27. package/dist/nodes/FeishuNode/resource/wiki_spaces/WikiSpacesNodeGetInfoOperate.js +0 -1
  28. package/dist/nodes/FeishuNode/resource/wiki_spaces/WikiSpacesNodeGetInfoOperate.js.map +1 -1
  29. package/dist/package.json +1 -1
  30. package/dist/tsconfig.tsbuildinfo +1 -1
  31. package/package.json +1 -1
package/README.md CHANGED
@@ -13,7 +13,7 @@
13
13
 
14
14
  ## 功能列表
15
15
 
16
- ### 知识库 (12)
16
+ ### 知识库 (13)
17
17
  - 获取知识空间列表
18
18
  - 获取知识空间信息
19
19
  - 更新知识空间设置
@@ -21,9 +21,10 @@
21
21
  - 删除知识空间成员
22
22
  - 获取知识空间成员列表
23
23
  - 创建知识空间节点
24
+ - **创建动态层级的知识库空间节点 (自定义封装)** ✨ 新增
24
25
  - 创建知识空间节点副本
25
26
  - 获取知识空间节点信息
26
- - 获取知识空间子节点列表
27
+ - 获取知识空间子节点列表 ✨支持递归获取子节点
27
28
  - 移动知识空间节点
28
29
  - 更新知识空间节点标题
29
30
 
@@ -165,9 +166,13 @@
165
166
  - 查询技能列表
166
167
  - 获取技能信息
167
168
 
168
- ### 云空间 (2)
169
+ ### 云空间 (6)
169
170
  - 上传素材
170
171
  - 上传素材通过Url
172
+ - 订阅云文档事件
173
+ - 取消云文档事件订阅
174
+ - 导出云文档(自动轮询任务状态并下载文件)
175
+ - 上传文件(支持二进制文件上传到云空间文件夹)✨ 新增
171
176
 
172
177
  ## ✨ 特别之处
173
178
 
@@ -177,10 +182,14 @@
177
182
 
178
183
  | 模块 | 接口名称 |
179
184
  |------|----------|
185
+ | 知识库 | 获取知识空间列表 |
186
+ | 知识库 | 获取知识空间成员列表 |
187
+ | 知识库 | 获取知识空间子节点列表(支持递归获取所有子节点) |
180
188
  | Aily | 查询技能列表 |
181
189
  | 群组管理 | 获取用户或机器人所在的群列表 |
182
190
  | 群组管理 | 搜索对用户或机器人可见的群列表 |
183
191
  | 群组管理 | 获取群成员列表 |
192
+ | 多维表格 | 查询记录 ✨ 新增 |
184
193
 
185
194
  ### ⏱️ 超时与批次管理
186
195
 
@@ -39,17 +39,27 @@ exports.default = {
39
39
  default: 'open_id',
40
40
  },
41
41
  {
42
- displayName: '分页标记',
43
- name: 'page_toke',
44
- type: 'string',
45
- default: '',
46
- description: '分页标记,第一次请求不填,表示从头开始遍历;分页查询结果还有更多项时会同时返回新的 page_token,下次遍历可采用该 page_token 获取查询结果',
42
+ displayName: 'Return All',
43
+ name: 'returnAll',
44
+ type: 'boolean',
45
+ default: false,
46
+ description: 'Whether to return all results or only up to a given limit',
47
47
  },
48
48
  {
49
- displayName: '分页大小',
50
- name: 'page_size',
49
+ displayName: 'Limit',
50
+ name: 'limit',
51
51
  type: 'number',
52
- default: 20,
52
+ default: 50,
53
+ typeOptions: {
54
+ minValue: 1,
55
+ maxValue: 500,
56
+ },
57
+ displayOptions: {
58
+ show: {
59
+ returnAll: [false],
60
+ },
61
+ },
62
+ description: 'Max number of results to return',
53
63
  },
54
64
  {
55
65
  displayName: '请求体JSON',
@@ -75,21 +85,53 @@ exports.default = {
75
85
  const app_token = this.getNodeParameter('app_toke', index);
76
86
  const table_id = this.getNodeParameter('table_id', index);
77
87
  const user_id_type = this.getNodeParameter('user_id_type', index);
78
- const page_token = this.getNodeParameter('page_toke', index);
79
- const page_size = this.getNodeParameter('page_size', index);
88
+ const returnAll = this.getNodeParameter('returnAll', index, false);
89
+ const limit = this.getNodeParameter('limit', index, 50);
80
90
  const body = NodeUtils_1.default.getNodeJsonData(this, 'body', index);
81
91
  const options = this.getNodeParameter('options', index, {});
82
- const qs = {};
83
- if (user_id_type)
84
- qs.user_id_type = user_id_type;
85
- if (page_token)
86
- qs.page_token = page_token;
87
- if (page_size)
88
- qs.page_size = page_size;
89
- const requestOptions = { method: 'POST', url: `/open-apis/bitable/v1/apps/${app_token}/tables/${table_id}/records/search`, qs, body };
90
- if (options.timeout)
91
- requestOptions.timeout = options.timeout;
92
- return RequestUtils_1.default.request.call(this, requestOptions);
92
+ const fetchPage = async (pageToken, pageSize) => {
93
+ const qs = {
94
+ user_id_type,
95
+ page_size: pageSize,
96
+ };
97
+ if (pageToken) {
98
+ qs.page_token = pageToken;
99
+ }
100
+ const requestOptions = {
101
+ method: 'POST',
102
+ url: `/open-apis/bitable/v1/apps/${app_token}/tables/${table_id}/records/search`,
103
+ qs,
104
+ body,
105
+ };
106
+ if (options.timeout)
107
+ requestOptions.timeout = options.timeout;
108
+ const response = await RequestUtils_1.default.request.call(this, requestOptions);
109
+ const responseData = response;
110
+ return {
111
+ items: responseData.items || [],
112
+ pageToken: responseData.page_token,
113
+ hasMore: responseData.has_more || false,
114
+ total: responseData.total,
115
+ };
116
+ };
117
+ if (returnAll) {
118
+ let allResults = [];
119
+ let pageToken = undefined;
120
+ const pageSize = 500;
121
+ while (true) {
122
+ const { items, pageToken: nextPageToken, hasMore } = await fetchPage(pageToken, pageSize);
123
+ allResults = allResults.concat(items);
124
+ if (!hasMore || !nextPageToken) {
125
+ break;
126
+ }
127
+ pageToken = nextPageToken;
128
+ }
129
+ return allResults;
130
+ }
131
+ else {
132
+ const { items } = await fetchPage(undefined, limit);
133
+ return items;
134
+ }
93
135
  },
94
136
  };
95
137
  //# sourceMappingURL=BitableTableRecrodSearchOperate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BitableTableRecrodSearchOperate.js","sourceRoot":"","sources":["../../../../../nodes/FeishuNode/resource/bitable/BitableTableRecrodSearchOperate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BitableTableRecrodSearchOperate.js","sourceRoot":"","sources":["../../../../../nodes/FeishuNode/resource/bitable/BitableTableRecrodSearchOperate.ts"],"names":[],"mappings":";;;;;AAMA,oFAA4D;AAE5D,8EAAsD;AAEtD,kBAAgB;IACf,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,6BAA6B;IACpC,KAAK,EAAE,EAAE;IACT,OAAO,EAAE;QACR;YACC,WAAW,EAAE,YAAY;YACzB,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,EAAE;YACX,WAAW,EAAE,iBAAiB;SAC9B;QACD;YACC,WAAW,EAAE,SAAS;YACtB,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,EAAE;YACX,WAAW,EAAE,eAAe;SAC5B;QAED;YACC,WAAW,EAAE,UAAU;YACvB,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE,SAAS;YACf,OAAO,EAAE;gBACR,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;gBACrC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE;gBACvC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;aACrC;YACD,WAAW,EAAE,WAAW;YACxB,OAAO,EAAE,SAAS;SAClB;QACD;YACC,WAAW,EAAE,YAAY;YACzB,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,2DAA2D;SACxE;QACD;YACC,WAAW,EAAE,OAAO;YACpB,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,EAAE;YACX,WAAW,EAAE;gBACZ,QAAQ,EAAE,CAAC;gBACX,QAAQ,EAAE,GAAG;aACb;YACD,cAAc,EAAE;gBACf,IAAI,EAAE;oBACL,SAAS,EAAE,CAAC,KAAK,CAAC;iBAClB;aACD;YACD,WAAW,EAAE,iCAAiC;SAC9C;QACD;YACC,WAAW,EAAE,SAAS;YACtB,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YACpC,WAAW,EACV,mHAAmH;SACpH;QACD;YACC,WAAW,EAAE,SAAS;YACtB,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,YAAY;YACzB,OAAO,EAAE,EAAE;YACX,OAAO,EAAE;gBACR,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,IAAI,EAAE,iBAAiB,EAAE,WAAW,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,WAAW,EAAE,iBAAiB,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,iCAAiC,EAAE,EAAE,EAAE,WAAW,EAAE,qBAAqB,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,uBAAuB,EAAE,CAAC,EAAE,CAAC,EAAE;gBACxiB,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,iDAAiD,EAAE;aACrK;SACD;KACoB;IACtB,KAAK,CAAC,IAAI,CAA0B,KAAa;QAChD,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,KAAK,CAAW,CAAC;QACrE,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,KAAK,CAAW,CAAC;QACpE,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,KAAK,CAAW,CAAC;QAC5E,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,KAAK,EAAE,KAAK,CAAY,CAAC;QAC9E,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAW,CAAC;QAClE,MAAM,IAAI,GAAG,mBAAS,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAgB,CAAC;QAC3E,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CAEzD,CAAC;QAGF,MAAM,SAAS,GAAG,KAAK,EAAE,SAA6B,EAAE,QAAgB,EAAE,EAAE;YAC3E,MAAM,EAAE,GAAgB;gBACvB,YAAY;gBACZ,SAAS,EAAE,QAAQ;aACnB,CAAC;YAEF,IAAI,SAAS,EAAE,CAAC;gBACf,EAAE,CAAC,UAAU,GAAG,SAAS,CAAC;YAC3B,CAAC;YAED,MAAM,cAAc,GAAgB;gBACnC,MAAM,EAAE,MAA6B;gBACrC,GAAG,EAAE,8BAA8B,SAAS,WAAW,QAAQ,iBAAiB;gBAChF,EAAE;gBACF,IAAI;aACJ,CAAC;YACF,IAAI,OAAO,CAAC,OAAO;gBAAE,cAAc,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;YAE9D,MAAM,QAAQ,GAAG,MAAM,sBAAY,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;YAEvE,MAAM,YAAY,GAAG,QAKpB,CAAC;YAEF,OAAO;gBACN,KAAK,EAAE,YAAY,CAAC,KAAK,IAAI,EAAE;gBAC/B,SAAS,EAAE,YAAY,CAAC,UAAU;gBAClC,OAAO,EAAE,YAAY,CAAC,QAAQ,IAAI,KAAK;gBACvC,KAAK,EAAE,YAAY,CAAC,KAAK;aACzB,CAAC;QACH,CAAC,CAAC;QAGF,IAAI,SAAS,EAAE,CAAC;YACf,IAAI,UAAU,GAAkB,EAAE,CAAC;YACnC,IAAI,SAAS,GAAuB,SAAS,CAAC;YAC9C,MAAM,QAAQ,GAAG,GAAG,CAAC;YAErB,OAAO,IAAI,EAAE,CAAC;gBACb,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,MAAM,SAAS,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;gBAC1F,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAGtC,IAAI,CAAC,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC;oBAChC,MAAM;gBACP,CAAC;gBAED,SAAS,GAAG,aAAa,CAAC;YAC3B,CAAC;YAED,OAAO,UAAU,CAAC;QACnB,CAAC;aAAM,CAAC;YAEP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YACpD,OAAO,KAAK,CAAC;QACd,CAAC;IACF,CAAC;CACqB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { ResourceOperations } from '../../../help/type/IResource';
2
+ declare const SpaceExportOperate: ResourceOperations;
3
+ export default SpaceExportOperate;
@@ -0,0 +1,281 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const n8n_workflow_1 = require("n8n-workflow");
7
+ const RequestUtils_1 = __importDefault(require("../../../help/utils/RequestUtils"));
8
+ const JOB_STATUS = {
9
+ SUCCESS: 0,
10
+ INITIALIZING: 1,
11
+ PROCESSING: 2,
12
+ INTERNAL_ERROR: 3,
13
+ FILE_TOO_LARGE: 107,
14
+ TIMEOUT: 108,
15
+ BLOCK_NO_PERMISSION: 109,
16
+ NO_PERMISSION: 110,
17
+ FILE_DELETED: 111,
18
+ COPY_IN_PROGRESS: 122,
19
+ FILE_NOT_FOUND: 123,
20
+ TOO_MANY_IMAGES: 6000,
21
+ };
22
+ const JOB_ERROR_MESSAGES = {
23
+ [JOB_STATUS.INTERNAL_ERROR]: '内部错误',
24
+ [JOB_STATUS.FILE_TOO_LARGE]: '导出文档过大',
25
+ [JOB_STATUS.TIMEOUT]: '处理超时',
26
+ [JOB_STATUS.BLOCK_NO_PERMISSION]: '导出内容块无权限',
27
+ [JOB_STATUS.NO_PERMISSION]: '无权限',
28
+ [JOB_STATUS.FILE_DELETED]: '导出文档已删除',
29
+ [JOB_STATUS.COPY_IN_PROGRESS]: '创建副本中禁止导出',
30
+ [JOB_STATUS.FILE_NOT_FOUND]: '导出文档不存在',
31
+ [JOB_STATUS.TOO_MANY_IMAGES]: '导出文档图片过多',
32
+ };
33
+ const SpaceExportOperate = {
34
+ name: '导出云文档',
35
+ value: 'space:export',
36
+ options: [
37
+ {
38
+ displayName: '云文档类型',
39
+ name: 'type',
40
+ type: 'options',
41
+ options: [
42
+ { name: '飞书多维表格', value: 'bitable' },
43
+ { name: '旧版飞书文档(已不推荐使用)', value: 'doc' },
44
+ { name: '新版飞书文档', value: 'docx' },
45
+ { name: '飞书电子表格', value: 'sheet' },
46
+ ],
47
+ required: true,
48
+ default: 'docx',
49
+ description: '要导出的云文档的类型。可通过云文档的链接判断。',
50
+ },
51
+ {
52
+ displayName: '文档Token',
53
+ name: 'token',
54
+ type: 'string',
55
+ required: true,
56
+ default: '',
57
+ description: '要导出的云文档的 token。最大长度 27 字符。',
58
+ },
59
+ {
60
+ displayName: '导出文件格式',
61
+ name: 'file_extension',
62
+ type: 'options',
63
+ options: [
64
+ { name: 'Microsoft Word 格式 (DOCX)', value: 'docx' },
65
+ { name: 'PDF 格式 (PDF)', value: 'pdf' },
66
+ { name: 'Microsoft Excel 格式 (XLSX)', value: 'xlsx' },
67
+ { name: 'CSV 格式 (CSV)', value: 'csv' },
68
+ ],
69
+ required: true,
70
+ default: 'docx',
71
+ description: '将云文档导出为本地文件后的扩展名。doc/docx 支持导出 docx/pdf;sheet/bitable 支持导出 xlsx/csv。',
72
+ },
73
+ {
74
+ displayName: '子表ID',
75
+ name: 'sub_id',
76
+ type: 'string',
77
+ default: '',
78
+ description: '导出飞书电子表格或多维表格为 CSV 文件时,需传入电子表格工作表的 ID 或多维表格数据表的 ID。电子表格可调用获取工作表接口获取返回的 sheet_id;多维表格可调用列出数据表接口获取返回的 table_id。',
79
+ displayOptions: {
80
+ show: {
81
+ type: ['sheet', 'bitable'],
82
+ file_extension: ['csv'],
83
+ },
84
+ },
85
+ },
86
+ {
87
+ displayName: '二进制输出字段',
88
+ name: 'binaryPropertyName',
89
+ type: 'string',
90
+ default: 'data',
91
+ description: '输出二进制文件数据的字段名称。',
92
+ },
93
+ {
94
+ displayName: 'Options',
95
+ name: 'options',
96
+ type: 'collection',
97
+ placeholder: 'Add option',
98
+ default: {},
99
+ options: [
100
+ {
101
+ displayName: '自定义文件名',
102
+ name: 'fileName',
103
+ type: 'string',
104
+ default: '',
105
+ description: '自定义保存的文件名(包含扩展名,如 myfile.pdf)。留空则使用原文档名称。',
106
+ },
107
+ {
108
+ displayName: '轮询间隔 (毫秒)',
109
+ name: 'pollInterval',
110
+ type: 'number',
111
+ typeOptions: {
112
+ minValue: 1000,
113
+ },
114
+ default: 2000,
115
+ description: '查询导出任务状态的轮询间隔时间(毫秒)。',
116
+ },
117
+ {
118
+ displayName: '最大轮询次数',
119
+ name: 'maxPolls',
120
+ type: 'number',
121
+ typeOptions: {
122
+ minValue: 1,
123
+ },
124
+ default: 60,
125
+ description: '查询导出任务状态的最大轮询次数。超过后将抛出超时错误。',
126
+ },
127
+ {
128
+ displayName: 'Timeout',
129
+ name: 'timeout',
130
+ type: 'number',
131
+ typeOptions: {
132
+ minValue: 0,
133
+ },
134
+ default: 0,
135
+ description: '等待服务器发送响应头(并开始响应体)的时间(毫秒),超过此时间将中止请求。0 表示不限制超时。',
136
+ },
137
+ ],
138
+ },
139
+ ],
140
+ async call(index) {
141
+ var _a, _b, _c;
142
+ const type = this.getNodeParameter('type', index);
143
+ const token = this.getNodeParameter('token', index);
144
+ const file_extension = this.getNodeParameter('file_extension', index);
145
+ const sub_id = this.getNodeParameter('sub_id', index, '');
146
+ const binaryPropertyName = this.getNodeParameter('binaryPropertyName', index, 'data');
147
+ const options = this.getNodeParameter('options', index, {});
148
+ const pollInterval = options.pollInterval || 2000;
149
+ const maxPolls = options.maxPolls || 60;
150
+ const baseRequestOptions = {};
151
+ if (options.timeout) {
152
+ baseRequestOptions.timeout = options.timeout;
153
+ }
154
+ const createBody = {
155
+ type,
156
+ token,
157
+ file_extension,
158
+ };
159
+ if ((type === 'sheet' || type === 'bitable') && file_extension === 'csv' && sub_id) {
160
+ createBody.sub_id = sub_id;
161
+ }
162
+ const createResponse = await RequestUtils_1.default.request.call(this, {
163
+ method: 'POST',
164
+ url: '/open-apis/drive/v1/export_tasks',
165
+ body: createBody,
166
+ ...baseRequestOptions,
167
+ });
168
+ const ticket = createResponse.ticket;
169
+ if (!ticket) {
170
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), '创建导出任务失败:未返回 ticket');
171
+ }
172
+ let pollCount = 0;
173
+ let exportResult = null;
174
+ while (pollCount < maxPolls) {
175
+ const queryResponse = await RequestUtils_1.default.request.call(this, {
176
+ method: 'GET',
177
+ url: `/open-apis/drive/v1/export_tasks/${ticket}`,
178
+ qs: { token },
179
+ ...baseRequestOptions,
180
+ });
181
+ const result = queryResponse.result;
182
+ if (!result) {
183
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), '查询导出任务失败:未返回 result');
184
+ }
185
+ const jobStatus = result.job_status;
186
+ if (jobStatus === JOB_STATUS.SUCCESS) {
187
+ exportResult = result;
188
+ break;
189
+ }
190
+ else if (jobStatus === JOB_STATUS.INITIALIZING || jobStatus === JOB_STATUS.PROCESSING) {
191
+ await (0, n8n_workflow_1.sleep)(pollInterval);
192
+ pollCount++;
193
+ }
194
+ else {
195
+ const errorMsg = JOB_ERROR_MESSAGES[jobStatus] || result.job_error_msg || '未知错误';
196
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), `导出任务失败 (状态码: ${jobStatus}): ${errorMsg}`);
197
+ }
198
+ }
199
+ if (!exportResult) {
200
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), `导出任务超时:已轮询 ${maxPolls} 次,任务仍未完成`);
201
+ }
202
+ const fileToken = exportResult.file_token;
203
+ if (!fileToken) {
204
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), '导出任务完成但未返回 file_token');
205
+ }
206
+ const response = await RequestUtils_1.default.originRequest.call(this, {
207
+ method: 'GET',
208
+ url: `/open-apis/drive/v1/export_tasks/file/${fileToken}/download`,
209
+ json: false,
210
+ encoding: null,
211
+ resolveWithFullResponse: true,
212
+ headers: {
213
+ 'Content-Type': 'application/json; charset=utf-8',
214
+ },
215
+ });
216
+ const mimeTypes = {
217
+ docx: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
218
+ pdf: 'application/pdf',
219
+ xlsx: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
220
+ csv: 'text/csv',
221
+ };
222
+ const fileExtension = exportResult.file_extension || file_extension;
223
+ const contentType = ((_a = response.headers) === null || _a === void 0 ? void 0 : _a['content-type']) ||
224
+ mimeTypes[fileExtension] ||
225
+ 'application/octet-stream';
226
+ const baseName = exportResult.file_name || 'exported_file';
227
+ let fullFileName = `${baseName}.${fileExtension}`;
228
+ const contentDisposition = (_b = response.headers) === null || _b === void 0 ? void 0 : _b['content-disposition'];
229
+ if (contentDisposition) {
230
+ const rfc5987Match = contentDisposition.match(/filename\*\s*=\s*(?:UTF-8|utf-8)'[^']*'([^;\s]+)/i);
231
+ if (rfc5987Match && rfc5987Match[1]) {
232
+ try {
233
+ fullFileName = decodeURIComponent(rfc5987Match[1]);
234
+ }
235
+ catch {
236
+ }
237
+ }
238
+ else {
239
+ const match = contentDisposition.match(/filename\s*=\s*((['"]).*?\2|[^;\s]+)/);
240
+ if (match && match[1]) {
241
+ let headerFileName = match[1].replace(/['"]/g, '');
242
+ try {
243
+ headerFileName = decodeURIComponent(headerFileName);
244
+ }
245
+ catch {
246
+ try {
247
+ const bytes = new Uint8Array(headerFileName.split('').map((c) => c.charCodeAt(0)));
248
+ headerFileName = new TextDecoder('utf-8').decode(bytes);
249
+ }
250
+ catch {
251
+ }
252
+ }
253
+ if (headerFileName) {
254
+ fullFileName = headerFileName;
255
+ }
256
+ }
257
+ }
258
+ }
259
+ if ((_c = options.fileName) === null || _c === void 0 ? void 0 : _c.trim()) {
260
+ fullFileName = options.fileName.trim();
261
+ }
262
+ const binaryData = await this.helpers.prepareBinaryData(Buffer.from(response.body), fullFileName, contentType);
263
+ return {
264
+ json: {
265
+ ticket,
266
+ file_token: fileToken,
267
+ file_name: exportResult.file_name,
268
+ file_extension: exportResult.file_extension,
269
+ file_size: exportResult.file_size,
270
+ type: exportResult.type,
271
+ fileName: fullFileName,
272
+ mimeType: contentType,
273
+ },
274
+ binary: {
275
+ [binaryPropertyName]: binaryData,
276
+ },
277
+ };
278
+ },
279
+ };
280
+ exports.default = SpaceExportOperate;
281
+ //# sourceMappingURL=SpaceExportOperate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SpaceExportOperate.js","sourceRoot":"","sources":["../../../../../nodes/FeishuNode/resource/space/SpaceExportOperate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { ResourceOperations } from '../../../help/type/IResource';
2
+ declare const SpaceFileUploadOperate: ResourceOperations;
3
+ export default SpaceFileUploadOperate;
@@ -0,0 +1,107 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const n8n_workflow_1 = require("n8n-workflow");
7
+ const RequestUtils_1 = __importDefault(require("../../../help/utils/RequestUtils"));
8
+ const NodeUtils_1 = __importDefault(require("../../../help/utils/NodeUtils"));
9
+ const SpaceFileUploadOperate = {
10
+ name: '上传文件',
11
+ value: 'space:fileUpload',
12
+ order: 51,
13
+ options: [
14
+ {
15
+ displayName: '文件夹 Token',
16
+ name: 'parent_node',
17
+ type: 'string',
18
+ required: true,
19
+ default: '',
20
+ description: '云空间中文件夹的 token,获取方式见飞书文档',
21
+ },
22
+ {
23
+ displayName: '二进制文件字段',
24
+ name: 'fileFieldName',
25
+ type: 'string',
26
+ default: 'data',
27
+ required: true,
28
+ description: '输入数据中包含文件二进制数据的字段名',
29
+ },
30
+ {
31
+ displayName: '选项',
32
+ name: 'options',
33
+ type: 'collection',
34
+ placeholder: '添加选项',
35
+ default: {},
36
+ options: [
37
+ {
38
+ displayName: '文件名',
39
+ name: 'file_name',
40
+ type: 'string',
41
+ default: '',
42
+ description: '自定义文件名,例如:demo.pdf。留空则从二进制数据中自动获取。最大长度250字符',
43
+ },
44
+ {
45
+ displayName: '文件校验和',
46
+ name: 'checksum',
47
+ type: 'string',
48
+ default: '',
49
+ description: '文件的 Adler-32 校验和',
50
+ },
51
+ {
52
+ displayName: 'Timeout',
53
+ name: 'timeout',
54
+ type: 'number',
55
+ typeOptions: {
56
+ minValue: 0,
57
+ },
58
+ default: 0,
59
+ description: '等待服务器发送响应头(并开始响应体)的时间(毫秒),超过此时间将中止请求。0 表示不限制超时。',
60
+ },
61
+ ],
62
+ },
63
+ ],
64
+ async call(index) {
65
+ var _a;
66
+ const parent_node = this.getNodeParameter('parent_node', index);
67
+ const fileFieldName = this.getNodeParameter('fileFieldName', index);
68
+ const options = this.getNodeParameter('options', index, {});
69
+ const file = (await NodeUtils_1.default.buildUploadFileData.call(this, fileFieldName, index));
70
+ if (!file || !file.value) {
71
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), '未找到文件数据,请检查二进制文件字段名是否正确');
72
+ }
73
+ const file_name = options.file_name || ((_a = file.options) === null || _a === void 0 ? void 0 : _a.filename);
74
+ if (!file_name) {
75
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), '文件名不能为空,请在选项中指定文件名或确保二进制数据包含文件名');
76
+ }
77
+ if (file_name.length > 250) {
78
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), '文件名长度不能超过250字符');
79
+ }
80
+ const fileSize = file.value.length;
81
+ if (fileSize > 20971520) {
82
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), '文件大小不能超过20MB,如需上传更大文件请使用分片上传接口');
83
+ }
84
+ const formData = {
85
+ file_name,
86
+ parent_type: 'explorer',
87
+ parent_node,
88
+ size: fileSize,
89
+ file,
90
+ };
91
+ if (options.checksum) {
92
+ formData.checksum = options.checksum;
93
+ }
94
+ const requestOptions = {};
95
+ if (options.timeout) {
96
+ requestOptions.timeout = options.timeout;
97
+ }
98
+ return RequestUtils_1.default.request.call(this, {
99
+ method: 'POST',
100
+ url: '/open-apis/drive/v1/files/upload_all',
101
+ formData,
102
+ ...requestOptions,
103
+ });
104
+ },
105
+ };
106
+ exports.default = SpaceFileUploadOperate;
107
+ //# sourceMappingURL=SpaceFileUploadOperate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SpaceFileUploadOperate.js","sourceRoot":"","sources":["../../../../../nodes/FeishuNode/resource/space/SpaceFileUploadOperate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { ResourceOperations } from '../../../help/type/IResource';
2
+ declare const SpaceSubscribeOperate: ResourceOperations;
3
+ export default SpaceSubscribeOperate;