@cryozerolabs/n8n-nodes-dingtalk 0.1.1 → 0.3.0

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 (83) hide show
  1. package/README.md +44 -4
  2. package/dist/credentials/DingtalkApi.credentials.js +8 -1
  3. package/dist/credentials/DingtalkApi.credentials.js.map +1 -1
  4. package/dist/docs/images/notable-ai-table-guide.png +0 -0
  5. package/dist/nodes/DingtalkNode/DingtalkNode.node.d.ts +20 -0
  6. package/dist/nodes/DingtalkNode/DingtalkNode.node.js +38 -68
  7. package/dist/nodes/DingtalkNode/DingtalkNode.node.js.map +1 -1
  8. package/dist/nodes/DingtalkNode/DingtalkNode.node.json +5 -5
  9. package/dist/nodes/DingtalkNode/resources/auth/index.js +5 -1
  10. package/dist/nodes/DingtalkNode/resources/auth/index.js.map +1 -1
  11. package/dist/nodes/DingtalkNode/resources/doc/index.d.ts +2 -0
  12. package/dist/nodes/DingtalkNode/resources/doc/index.js +13 -0
  13. package/dist/nodes/DingtalkNode/resources/doc/index.js.map +1 -0
  14. package/dist/nodes/DingtalkNode/resources/doc/resourceGetUploadinfo.d.ts +3 -0
  15. package/dist/nodes/DingtalkNode/resources/doc/resourceGetUploadinfo.js +70 -0
  16. package/dist/nodes/DingtalkNode/resources/doc/resourceGetUploadinfo.js.map +1 -0
  17. package/dist/nodes/DingtalkNode/resources/notable/common.d.ts +5 -0
  18. package/dist/nodes/DingtalkNode/resources/notable/common.js +100 -0
  19. package/dist/nodes/DingtalkNode/resources/notable/common.js.map +1 -0
  20. package/dist/nodes/DingtalkNode/resources/notable/fieldCreate.js +11 -33
  21. package/dist/nodes/DingtalkNode/resources/notable/fieldCreate.js.map +1 -1
  22. package/dist/nodes/DingtalkNode/resources/notable/fieldDelete.js +8 -30
  23. package/dist/nodes/DingtalkNode/resources/notable/fieldDelete.js.map +1 -1
  24. package/dist/nodes/DingtalkNode/resources/notable/fieldGetAll.js +8 -30
  25. package/dist/nodes/DingtalkNode/resources/notable/fieldGetAll.js.map +1 -1
  26. package/dist/nodes/DingtalkNode/resources/notable/fieldUpdate.js +11 -33
  27. package/dist/nodes/DingtalkNode/resources/notable/fieldUpdate.js.map +1 -1
  28. package/dist/nodes/DingtalkNode/resources/notable/index.js +37 -1
  29. package/dist/nodes/DingtalkNode/resources/notable/index.js.map +1 -1
  30. package/dist/nodes/DingtalkNode/resources/notable/methods/index.d.ts +9 -0
  31. package/dist/nodes/DingtalkNode/resources/notable/methods/index.js +45 -0
  32. package/dist/nodes/DingtalkNode/resources/notable/methods/index.js.map +1 -0
  33. package/dist/nodes/DingtalkNode/resources/notable/methods/listSearch.d.ts +2 -0
  34. package/dist/nodes/DingtalkNode/resources/notable/methods/listSearch.js +29 -0
  35. package/dist/nodes/DingtalkNode/resources/notable/methods/listSearch.js.map +1 -0
  36. package/dist/nodes/DingtalkNode/resources/notable/methods/loadOptions.d.ts +3 -0
  37. package/dist/nodes/DingtalkNode/resources/notable/methods/loadOptions.js +50 -0
  38. package/dist/nodes/DingtalkNode/resources/notable/methods/loadOptions.js.map +1 -0
  39. package/dist/nodes/DingtalkNode/resources/notable/methods/resourceMapping.d.ts +2 -0
  40. package/dist/nodes/DingtalkNode/resources/notable/methods/resourceMapping.js +48 -0
  41. package/dist/nodes/DingtalkNode/resources/notable/methods/resourceMapping.js.map +1 -0
  42. package/dist/nodes/DingtalkNode/resources/notable/recordDelete.js +35 -44
  43. package/dist/nodes/DingtalkNode/resources/notable/recordDelete.js.map +1 -1
  44. package/dist/nodes/DingtalkNode/resources/notable/recordGet.js +10 -32
  45. package/dist/nodes/DingtalkNode/resources/notable/recordGet.js.map +1 -1
  46. package/dist/nodes/DingtalkNode/resources/notable/recordInsert.js +65 -40
  47. package/dist/nodes/DingtalkNode/resources/notable/recordInsert.js.map +1 -1
  48. package/dist/nodes/DingtalkNode/resources/notable/recordList.js +190 -37
  49. package/dist/nodes/DingtalkNode/resources/notable/recordList.js.map +1 -1
  50. package/dist/nodes/DingtalkNode/resources/notable/recordUpdate.js +68 -39
  51. package/dist/nodes/DingtalkNode/resources/notable/recordUpdate.js.map +1 -1
  52. package/dist/nodes/DingtalkNode/resources/notable/sheetCreate.js +13 -28
  53. package/dist/nodes/DingtalkNode/resources/notable/sheetCreate.js.map +1 -1
  54. package/dist/nodes/DingtalkNode/resources/notable/sheetDelete.js +8 -30
  55. package/dist/nodes/DingtalkNode/resources/notable/sheetDelete.js.map +1 -1
  56. package/dist/nodes/DingtalkNode/resources/notable/sheetGet.js +8 -30
  57. package/dist/nodes/DingtalkNode/resources/notable/sheetGet.js.map +1 -1
  58. package/dist/nodes/DingtalkNode/resources/notable/sheetGetAll.js +5 -23
  59. package/dist/nodes/DingtalkNode/resources/notable/sheetGetAll.js.map +1 -1
  60. package/dist/nodes/DingtalkNode/resources/notable/sheetUpdate.js +15 -38
  61. package/dist/nodes/DingtalkNode/resources/notable/sheetUpdate.js.map +1 -1
  62. package/dist/nodes/DingtalkNode/resources/user/index.js +5 -1
  63. package/dist/nodes/DingtalkNode/resources/user/index.js.map +1 -1
  64. package/dist/nodes/shared/properties/body.d.ts +14 -0
  65. package/dist/nodes/shared/properties/body.js +123 -0
  66. package/dist/nodes/shared/properties/body.js.map +1 -0
  67. package/dist/nodes/shared/properties/commaSeparatedString.d.ts +3 -0
  68. package/dist/nodes/shared/properties/commaSeparatedString.js +28 -0
  69. package/dist/nodes/shared/properties/commaSeparatedString.js.map +1 -0
  70. package/dist/nodes/shared/properties/operator.d.ts +4 -0
  71. package/dist/nodes/shared/properties/operator.js +66 -0
  72. package/dist/nodes/shared/properties/operator.js.map +1 -0
  73. package/dist/nodes/shared/request.js +2 -0
  74. package/dist/nodes/shared/request.js.map +1 -1
  75. package/dist/nodes/shared/resource.d.ts +5 -3
  76. package/dist/nodes/shared/resource.js +17 -68
  77. package/dist/nodes/shared/resource.js.map +1 -1
  78. package/dist/package.json +1 -1
  79. package/dist/tsconfig.tsbuildinfo +1 -1
  80. package/package.json +1 -1
  81. package/dist/nodes/shared/validation.d.ts +0 -2
  82. package/dist/nodes/shared/validation.js +0 -20
  83. package/dist/nodes/shared/validation.js.map +0 -1
@@ -1,48 +1,33 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const request_1 = require("../../../shared/request");
4
- const validation_1 = require("../../../shared/validation");
4
+ const body_1 = require("../../../shared/properties/body");
5
+ const operator_1 = require("../../../shared/properties/operator");
6
+ const commaSeparatedString_1 = require("../../../shared/properties/commaSeparatedString");
7
+ const common_1 = require("./common");
5
8
  const OP = 'notable.record.delete';
6
9
  const showOnly = { show: { operation: [OP] } };
7
- const properties = [
8
- {
9
- displayName: 'AI表格ID (baseId)',
10
- name: 'baseId',
11
- type: 'string',
12
- default: '',
13
- required: true,
14
- description: '可通过AI表格 解析URL 操作获取',
15
- displayOptions: showOnly,
16
- },
17
- {
18
- displayName: '数据表ID或名称 (sheetIdOrName)',
19
- name: 'sheetIdOrName',
20
- type: 'string',
21
- default: '',
10
+ const formProperties = [
11
+ (0, commaSeparatedString_1.commaSeparatedStringProperty)({
12
+ displayName: '记录ID列表',
13
+ name: 'recordIds',
22
14
  required: true,
23
- description: '可通过AI表格 解析URL 操作获取sheetId',
24
- displayOptions: showOnly,
25
- },
26
- {
27
- displayName: '操作人的 unionId (operatorId)',
28
- name: 'operatorId',
29
- type: 'string',
30
- default: '',
31
- required: true,
32
- description: '可通过用户管理 查询用户详情 获取',
33
- displayOptions: showOnly,
34
- },
35
- {
36
- displayName: '请求体 JSON',
37
- name: 'body',
38
- type: 'json',
39
- default: JSON.stringify({
40
- recordIds: ['String'],
41
- }),
42
- required: true,
43
- description: '官方文档: https://open.dingtalk.com/document/development/api-noatable-deleterecords',
44
- displayOptions: showOnly,
45
- },
15
+ placeholder: '例如:rec001, rec002',
16
+ description: '要删除的记录ID列表,多个参数请用","分隔。支持表达式和固定值',
17
+ }),
18
+ ];
19
+ const properties = [
20
+ ...(0, operator_1.operatorProps)(showOnly),
21
+ ...(0, common_1.baseProps)(showOnly),
22
+ ...(0, common_1.sheetProps)(showOnly),
23
+ ...(0, body_1.bodyProps)(showOnly, {
24
+ defaultMode: 'form',
25
+ defaultJsonBody: JSON.stringify({
26
+ recordIds: ['rec001', 'rec002'],
27
+ }, null, 2),
28
+ jsonDescription: '请求体JSON数据。<a href="https://open.dingtalk.com/document/development/api-noatable-deleterecords" target="_blank">查看API文档</a>',
29
+ formProperties,
30
+ }),
46
31
  ];
47
32
  const op = {
48
33
  value: OP,
@@ -50,11 +35,17 @@ const op = {
50
35
  description: '删除数据表中的多行记录',
51
36
  properties,
52
37
  async run(itemIndex) {
53
- const baseId = this.getNodeParameter('baseId', itemIndex);
54
- const sheet = this.getNodeParameter('sheetIdOrName', itemIndex);
55
- const operatorId = this.getNodeParameter('operatorId', itemIndex);
56
- const raw = this.getNodeParameter('body', itemIndex);
57
- const body = (0, validation_1.parseJsonBody)(raw, this.getNode(), itemIndex);
38
+ const baseId = (0, common_1.getBase)(this, itemIndex);
39
+ const sheet = (0, common_1.getSheet)(this, itemIndex);
40
+ const operatorId = await (0, operator_1.getOperatorId)(this, itemIndex);
41
+ const body = (0, body_1.getBodyData)(this, itemIndex, {
42
+ formBuilder: (ctx, idx) => {
43
+ const recordIds = (0, commaSeparatedString_1.getCommaSeparatedValues)(ctx, idx, 'recordIds');
44
+ return {
45
+ recordIds,
46
+ };
47
+ },
48
+ });
58
49
  const resp = await request_1.request.call(this, {
59
50
  method: 'POST',
60
51
  url: `/notable/bases/${baseId}/sheets/${sheet}/records/delete`,
@@ -1 +1 @@
1
- {"version":3,"file":"recordDelete.js","sourceRoot":"","sources":["../../../../../nodes/DingtalkNode/resources/notable/recordDelete.ts"],"names":[],"mappings":";;AAOA,qDAAkD;AAClD,2DAA2D;AAE3D,MAAM,EAAE,GAAG,uBAAuB,CAAC;AAGnC,MAAM,QAAQ,GAAG,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;AAE/C,MAAM,UAAU,GAAsB;IACpC;QACE,WAAW,EAAE,iBAAiB;QAC9B,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,oBAAoB;QACjC,cAAc,EAAE,QAAQ;KACzB;IACD;QACE,WAAW,EAAE,0BAA0B;QACvC,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,2BAA2B;QACxC,cAAc,EAAE,QAAQ;KACzB;IACD;QACE,WAAW,EAAE,2BAA2B;QACxC,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,mBAAmB;QAChC,cAAc,EAAE,QAAQ;KACzB;IACD;QACE,WAAW,EAAE,UAAU;QACvB,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;YACtB,SAAS,EAAE,CAAC,QAAQ,CAAC;SACtB,CAAC;QACF,QAAQ,EAAE,IAAI;QACd,WAAW,EACT,iFAAiF;QACnF,cAAc,EAAE,QAAQ;KACzB;CACF,CAAC;AAEF,MAAM,EAAE,GAAiB;IACvB,KAAK,EAAE,EAAE;IACT,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,aAAa;IAC1B,UAAU;IAEV,KAAK,CAAC,GAAG,CAA0B,SAAiB;QAClD,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,SAAS,CAAW,CAAC;QACpE,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,eAAe,EAAE,SAAS,CAAW,CAAC;QAC1E,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,SAAS,CAAW,CAAC;QAC5E,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,SAAS,CAAY,CAAC;QAEhE,MAAM,IAAI,GAAG,IAAA,0BAAa,EAAC,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;QAE3D,MAAM,IAAI,GAAG,MAAM,iBAAO,CAAC,IAAI,CAAC,IAAI,EAAE;YACpC,MAAM,EAAE,MAAM;YACd,GAAG,EAAE,kBAAkB,MAAM,WAAW,KAAK,iBAAiB;YAC9D,EAAE,EAAE,EAAE,UAAU,EAAE;YAClB,IAAI;SACL,CAAC,CAAC;QAEH,MAAM,GAAG,GAAgB,IAA8B,CAAC;QACxD,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC;IACxD,CAAC;CACF,CAAC;AAEF,kBAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"recordDelete.js","sourceRoot":"","sources":["../../../../../nodes/DingtalkNode/resources/notable/recordDelete.ts"],"names":[],"mappings":";;AAOA,qDAAkD;AAClD,0DAAyE;AACzE,kEAAmF;AACnF,0FAGyD;AACzD,qCAAoE;AAEpE,MAAM,EAAE,GAAG,uBAAuB,CAAC;AAGnC,MAAM,QAAQ,GAAG,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;AAG/C,MAAM,cAAc,GAAsB;IACxC,IAAA,mDAA4B,EAAC;QAC3B,WAAW,EAAE,QAAQ;QACrB,IAAI,EAAE,WAAW;QACjB,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,mBAAmB;QAChC,WAAW,EAAE,kCAAkC;KAChD,CAAC;CACH,CAAC;AAEF,MAAM,UAAU,GAAsB;IACpC,GAAG,IAAA,wBAAa,EAAC,QAAQ,CAAC;IAC1B,GAAG,IAAA,kBAAS,EAAC,QAAQ,CAAC;IACtB,GAAG,IAAA,mBAAU,EAAC,QAAQ,CAAC;IACvB,GAAG,IAAA,gBAAS,EAAC,QAAQ,EAAE;QACrB,WAAW,EAAE,MAAM;QACnB,eAAe,EAAE,IAAI,CAAC,SAAS,CAC7B;YACE,SAAS,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;SAChC,EACD,IAAI,EACJ,CAAC,CACF;QACD,eAAe,EACb,2HAA2H;QAC7H,cAAc;KACf,CAAC;CACH,CAAC;AAEF,MAAM,EAAE,GAAiB;IACvB,KAAK,EAAE,EAAE;IACT,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,aAAa;IAC1B,UAAU;IAEV,KAAK,CAAC,GAAG,CAA0B,SAAiB;QAClD,MAAM,MAAM,GAAG,IAAA,gBAAO,EAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACxC,MAAM,KAAK,GAAG,IAAA,iBAAQ,EAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACxC,MAAM,UAAU,GAAG,MAAM,IAAA,wBAAa,EAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAGxD,MAAM,IAAI,GAAG,IAAA,kBAAW,EAAC,IAAI,EAAE,SAAS,EAAE;YACxC,WAAW,EAAE,CAAC,GAAsB,EAAE,GAAW,EAAE,EAAE;gBACnD,MAAM,SAAS,GAAG,IAAA,8CAAuB,EAAC,GAAG,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;gBAEjE,OAAO;oBACL,SAAS;iBACV,CAAC;YACJ,CAAC;SACF,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,MAAM,iBAAO,CAAC,IAAI,CAAC,IAAI,EAAE;YACpC,MAAM,EAAE,MAAM;YACd,GAAG,EAAE,kBAAkB,MAAM,WAAW,KAAK,iBAAiB;YAC9D,EAAE,EAAE,EAAE,UAAU,EAAE;YAClB,IAAI;SACL,CAAC,CAAC;QAEH,MAAM,GAAG,GAAgB,IAA8B,CAAC;QACxD,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC;IACxD,CAAC;CACF,CAAC;AAEF,kBAAe,EAAE,CAAC"}
@@ -1,43 +1,21 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const request_1 = require("../../../shared/request");
4
+ const common_1 = require("./common");
5
+ const operator_1 = require("../../../shared/properties/operator");
4
6
  const OP = 'notable.record.get';
5
7
  const showOnly = { show: { operation: [OP] } };
6
8
  const properties = [
9
+ ...(0, operator_1.operatorProps)(showOnly),
10
+ ...(0, common_1.baseProps)(showOnly),
11
+ ...(0, common_1.sheetProps)(showOnly),
7
12
  {
8
- displayName: 'AI表格ID (baseId)',
9
- name: 'baseId',
10
- type: 'string',
11
- default: '',
12
- required: true,
13
- description: '可通过AI表格 解析URL 操作获取',
14
- displayOptions: showOnly,
15
- },
16
- {
17
- displayName: '数据表ID或名称 (sheetIdOrName)',
18
- name: 'sheetIdOrName',
19
- type: 'string',
20
- default: '',
21
- required: true,
22
- description: '目标数据表的 ID 或名称',
23
- displayOptions: showOnly,
24
- },
25
- {
26
- displayName: '记录ID (recordId)',
13
+ displayName: '记录ID',
27
14
  name: 'recordId',
28
15
  type: 'string',
29
16
  default: '',
30
17
  required: true,
31
- description: '要查询的记录 ID',
32
- displayOptions: showOnly,
33
- },
34
- {
35
- displayName: '操作人的 unionId (operatorId)',
36
- name: 'operatorId',
37
- type: 'string',
38
- default: '',
39
- required: true,
40
- description: '可通过用户管理 查询用户详情 获取',
18
+ description: '要查询的记录 ID。可通过 新增记录、列出多行记录 操作获取',
41
19
  displayOptions: showOnly,
42
20
  },
43
21
  ];
@@ -47,10 +25,10 @@ const op = {
47
25
  description: '获取AI表格中的一行记录',
48
26
  properties,
49
27
  async run(itemIndex) {
50
- const baseId = this.getNodeParameter('baseId', itemIndex);
51
- const sheet = this.getNodeParameter('sheetIdOrName', itemIndex);
28
+ const baseId = (0, common_1.getBase)(this, itemIndex);
29
+ const sheet = (0, common_1.getSheet)(this, itemIndex);
52
30
  const recordId = this.getNodeParameter('recordId', itemIndex);
53
- const operatorId = this.getNodeParameter('operatorId', itemIndex);
31
+ const operatorId = await (0, operator_1.getOperatorId)(this, itemIndex);
54
32
  const resp = await request_1.request.call(this, {
55
33
  method: 'GET',
56
34
  url: `/notable/bases/${baseId}/sheets/${sheet}/records/${recordId}`,
@@ -1 +1 @@
1
- {"version":3,"file":"recordGet.js","sourceRoot":"","sources":["../../../../../nodes/DingtalkNode/resources/notable/recordGet.ts"],"names":[],"mappings":";;AAOA,qDAAkD;AAElD,MAAM,EAAE,GAAG,oBAAoB,CAAC;AAGhC,MAAM,QAAQ,GAAG,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;AAE/C,MAAM,UAAU,GAAsB;IACpC;QACE,WAAW,EAAE,iBAAiB;QAC9B,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,oBAAoB;QACjC,cAAc,EAAE,QAAQ;KACzB;IACD;QACE,WAAW,EAAE,0BAA0B;QACvC,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,eAAe;QAC5B,cAAc,EAAE,QAAQ;KACzB;IACD;QACE,WAAW,EAAE,iBAAiB;QAC9B,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,WAAW;QACxB,cAAc,EAAE,QAAQ;KACzB;IACD;QACE,WAAW,EAAE,2BAA2B;QACxC,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,mBAAmB;QAChC,cAAc,EAAE,QAAQ;KACzB;CACF,CAAC;AAEF,MAAM,EAAE,GAAiB;IACvB,KAAK,EAAE,EAAE;IACT,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,cAAc;IAC3B,UAAU;IAEV,KAAK,CAAC,GAAG,CAA0B,SAAiB;QAClD,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,SAAS,CAAW,CAAC;QACpE,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,eAAe,EAAE,SAAS,CAAW,CAAC;QAC1E,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,SAAS,CAAW,CAAC;QACxE,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,SAAS,CAAW,CAAC;QAE5E,MAAM,IAAI,GAAG,MAAM,iBAAO,CAAC,IAAI,CAAC,IAAI,EAAE;YACpC,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,kBAAkB,MAAM,WAAW,KAAK,YAAY,QAAQ,EAAE;YACnE,EAAE,EAAE,EAAE,UAAU,EAAE;SACnB,CAAC,CAAC;QAEH,MAAM,GAAG,GAAgB,IAA8B,CAAC;QACxD,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC;IACxD,CAAC;CACF,CAAC;AAEF,kBAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"recordGet.js","sourceRoot":"","sources":["../../../../../nodes/DingtalkNode/resources/notable/recordGet.ts"],"names":[],"mappings":";;AAOA,qDAAkD;AAClD,qCAAoE;AACpE,kEAAmF;AAEnF,MAAM,EAAE,GAAG,oBAAoB,CAAC;AAGhC,MAAM,QAAQ,GAAG,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;AAE/C,MAAM,UAAU,GAAsB;IACpC,GAAG,IAAA,wBAAa,EAAC,QAAQ,CAAC;IAC1B,GAAG,IAAA,kBAAS,EAAC,QAAQ,CAAC;IACtB,GAAG,IAAA,mBAAU,EAAC,QAAQ,CAAC;IACvB;QACE,WAAW,EAAE,MAAM;QACnB,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,gCAAgC;QAC7C,cAAc,EAAE,QAAQ;KACzB;CACF,CAAC;AAEF,MAAM,EAAE,GAAiB;IACvB,KAAK,EAAE,EAAE;IACT,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,cAAc;IAC3B,UAAU;IAEV,KAAK,CAAC,GAAG,CAA0B,SAAiB;QAClD,MAAM,MAAM,GAAG,IAAA,gBAAO,EAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACxC,MAAM,KAAK,GAAG,IAAA,iBAAQ,EAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,SAAS,CAAW,CAAC;QACxE,MAAM,UAAU,GAAG,MAAM,IAAA,wBAAa,EAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAExD,MAAM,IAAI,GAAG,MAAM,iBAAO,CAAC,IAAI,CAAC,IAAI,EAAE;YACpC,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,kBAAkB,MAAM,WAAW,KAAK,YAAY,QAAQ,EAAE;YACnE,EAAE,EAAE,EAAE,UAAU,EAAE;SACnB,CAAC,CAAC;QAEH,MAAM,GAAG,GAAgB,IAA8B,CAAC;QACxD,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC;IACxD,CAAC;CACF,CAAC;AAEF,kBAAe,EAAE,CAAC"}
@@ -1,42 +1,45 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const request_1 = require("../../../shared/request");
4
- const validation_1 = require("../../../shared/validation");
4
+ const common_1 = require("./common");
5
+ const operator_1 = require("../../../shared/properties/operator");
6
+ const body_1 = require("../../../shared/properties/body");
5
7
  const OP = 'notable.record.insert';
6
8
  const showOnly = { show: { operation: [OP] } };
7
- const properties = [
8
- {
9
- displayName: 'AI表格ID (baseId)',
10
- name: 'baseId',
11
- type: 'string',
12
- default: '',
13
- required: true,
14
- description: '可通过AI表格 解析URL 操作获取',
15
- displayOptions: showOnly,
16
- },
17
- {
18
- displayName: '数据表ID或名称 (sheetIdOrName)',
19
- name: 'sheetIdOrName',
20
- type: 'string',
21
- default: '',
22
- required: true,
23
- description: '目标数据表的 ID 或名称',
24
- displayOptions: showOnly,
25
- },
9
+ const formProperties = [
26
10
  {
27
- displayName: '操作人的 unionId (operatorId)',
28
- name: 'operatorId',
29
- type: 'string',
30
- default: '',
11
+ displayName: 'Columns',
12
+ name: 'columns',
13
+ type: 'resourceMapper',
14
+ default: {
15
+ mappingMode: 'defineBelow',
16
+ value: null,
17
+ },
18
+ noDataExpression: true,
31
19
  required: true,
32
- description: '可通过用户管理 查询用户详情 获取',
33
20
  displayOptions: showOnly,
21
+ typeOptions: {
22
+ loadOptionsDependsOn: ['operatorId.value', 'baseId.value', 'sheetIdOrName.value'],
23
+ resourceMapper: {
24
+ resourceMapperMethod: 'notableGetColumns',
25
+ mode: 'add',
26
+ fieldWords: {
27
+ singular: 'column',
28
+ plural: 'columns',
29
+ },
30
+ addAllFields: false,
31
+ multiKeyMatch: true,
32
+ },
33
+ },
34
34
  },
35
- {
36
- displayName: '请求体 JSON',
37
- name: 'body',
38
- type: 'json',
39
- default: JSON.stringify({
35
+ ];
36
+ const properties = [
37
+ ...(0, operator_1.operatorProps)(showOnly),
38
+ ...(0, common_1.baseProps)(showOnly),
39
+ ...(0, common_1.sheetProps)(showOnly),
40
+ ...(0, body_1.bodyProps)(showOnly, {
41
+ defaultMode: 'form',
42
+ defaultJsonBody: JSON.stringify({
40
43
  records: [
41
44
  {
42
45
  fields: {
@@ -44,11 +47,10 @@ const properties = [
44
47
  },
45
48
  },
46
49
  ],
47
- }),
48
- required: true,
49
- description: '官方文档: https://open.dingtalk.com/document/development/api-notable-insertrecords',
50
- displayOptions: showOnly,
51
- },
50
+ }, null, 2),
51
+ jsonDescription: '请求体JSON数据。<a href="https://open.dingtalk.com/document/development/api-notable-insertrecords" target="_blank">查看官方API文档</a>',
52
+ formProperties,
53
+ }),
52
54
  ];
53
55
  const op = {
54
56
  value: OP,
@@ -56,11 +58,34 @@ const op = {
56
58
  description: '在AI表格里的指定数据表中新增行记录',
57
59
  properties,
58
60
  async run(itemIndex) {
59
- const baseId = this.getNodeParameter('baseId', itemIndex);
60
- const sheet = this.getNodeParameter('sheetIdOrName', itemIndex);
61
- const operatorId = this.getNodeParameter('operatorId', itemIndex);
62
- const raw = this.getNodeParameter('body', itemIndex);
63
- const body = (0, validation_1.parseJsonBody)(raw, this.getNode(), itemIndex);
61
+ const baseId = (0, common_1.getBase)(this, itemIndex);
62
+ const sheet = (0, common_1.getSheet)(this, itemIndex);
63
+ const operatorId = await (0, operator_1.getOperatorId)(this, itemIndex);
64
+ const body = (0, body_1.getBodyData)(this, itemIndex, {
65
+ formBuilder: (ctx, idx) => {
66
+ const result = {};
67
+ const dataMode = ctx.getNodeParameter('columns.mappingMode', idx);
68
+ const fields = {};
69
+ if (dataMode === 'defineBelow') {
70
+ const record = ctx.getNodeParameter('columns.value', idx);
71
+ Object.assign(fields, record);
72
+ }
73
+ else if (dataMode === 'autoMapInputData') {
74
+ const inputData = ctx.getInputData()[idx];
75
+ const matchingColumns = ctx.getNodeParameter('columns.matchingColumns', idx, []);
76
+ if (matchingColumns.length > 0 && (inputData === null || inputData === void 0 ? void 0 : inputData.json)) {
77
+ const inputJson = inputData.json;
78
+ for (const fieldId of matchingColumns) {
79
+ if (fieldId in inputJson) {
80
+ fields[fieldId] = inputJson[fieldId];
81
+ }
82
+ }
83
+ }
84
+ }
85
+ result.records = [{ fields }];
86
+ return result;
87
+ },
88
+ });
64
89
  const resp = await request_1.request.call(this, {
65
90
  method: 'POST',
66
91
  url: `/notable/bases/${baseId}/sheets/${sheet}/records`,
@@ -1 +1 @@
1
- {"version":3,"file":"recordInsert.js","sourceRoot":"","sources":["../../../../../nodes/DingtalkNode/resources/notable/recordInsert.ts"],"names":[],"mappings":";;AAOA,qDAAkD;AAClD,2DAA2D;AAE3D,MAAM,EAAE,GAAG,uBAAuB,CAAC;AAGnC,MAAM,QAAQ,GAAG,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;AAE/C,MAAM,UAAU,GAAsB;IACpC;QACE,WAAW,EAAE,iBAAiB;QAC9B,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,oBAAoB;QACjC,cAAc,EAAE,QAAQ;KACzB;IACD;QACE,WAAW,EAAE,0BAA0B;QACvC,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,eAAe;QAC5B,cAAc,EAAE,QAAQ;KACzB;IACD;QACE,WAAW,EAAE,2BAA2B;QACxC,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,mBAAmB;QAChC,cAAc,EAAE,QAAQ;KACzB;IACD;QACE,WAAW,EAAE,UAAU;QACvB,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;YACtB,OAAO,EAAE;gBACP;oBACE,MAAM,EAAE;wBACN,GAAG,EAAE,KAAK;qBACX;iBACF;aACF;SACF,CAAC;QACF,QAAQ,EAAE,IAAI;QACd,WAAW,EACT,gFAAgF;QAClF,cAAc,EAAE,QAAQ;KACzB;CACF,CAAC;AAEF,MAAM,EAAE,GAAiB;IACvB,KAAK,EAAE,EAAE;IACT,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,oBAAoB;IACjC,UAAU;IAEV,KAAK,CAAC,GAAG,CAA0B,SAAiB;QAClD,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,SAAS,CAAW,CAAC;QACpE,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,eAAe,EAAE,SAAS,CAAW,CAAC;QAC1E,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,SAAS,CAAW,CAAC;QAC5E,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,SAAS,CAAY,CAAC;QAEhE,MAAM,IAAI,GAAG,IAAA,0BAAa,EAAC,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;QAE3D,MAAM,IAAI,GAAG,MAAM,iBAAO,CAAC,IAAI,CAAC,IAAI,EAAE;YACpC,MAAM,EAAE,MAAM;YACd,GAAG,EAAE,kBAAkB,MAAM,WAAW,KAAK,UAAU;YACvD,EAAE,EAAE,EAAE,UAAU,EAAE;YAClB,IAAI;SACL,CAAC,CAAC;QAEH,MAAM,GAAG,GAAgB,IAA8B,CAAC;QACxD,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC;IACxD,CAAC;CACF,CAAC;AAEF,kBAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"recordInsert.js","sourceRoot":"","sources":["../../../../../nodes/DingtalkNode/resources/notable/recordInsert.ts"],"names":[],"mappings":"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"}
@@ -1,56 +1,171 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const request_1 = require("../../../shared/request");
4
- const validation_1 = require("../../../shared/validation");
4
+ const common_1 = require("./common");
5
+ const operator_1 = require("../../../shared/properties/operator");
6
+ const body_1 = require("../../../shared/properties/body");
5
7
  const OP = 'notable.record.getAll';
6
8
  const showOnly = { show: { operation: [OP] } };
7
- const properties = [
9
+ const formProperties = [
8
10
  {
9
- displayName: 'AI表格ID (baseId)',
10
- name: 'baseId',
11
- type: 'string',
12
- default: '',
13
- required: true,
14
- description: '可通过AI表格 解析URL 操作获取',
15
- displayOptions: showOnly,
11
+ displayName: '筛选条件',
12
+ name: 'filter',
13
+ placeholder: '添加筛选条件',
14
+ type: 'fixedCollection',
15
+ typeOptions: {
16
+ multipleValueButtonText: '添加筛选条件',
17
+ multipleValues: true,
18
+ sortable: true,
19
+ },
20
+ default: {},
21
+ options: [
22
+ {
23
+ displayName: '筛选条件',
24
+ name: 'conditions',
25
+ values: [
26
+ {
27
+ displayName: '字段',
28
+ name: 'field',
29
+ type: 'options',
30
+ typeOptions: {
31
+ loadOptionsDependsOn: ['operatorId.value', 'baseId.value', 'sheetIdOrName.value'],
32
+ loadOptionsMethod: 'notableGetFieldsAndAddOptions',
33
+ },
34
+ default: '',
35
+ description: '配置操作人、AI表格和数据表参数后,可从列表中选择最新支持的字段,或使用expression指定字段名称或ID',
36
+ },
37
+ {
38
+ displayName: '条件类型',
39
+ name: 'operator',
40
+ type: 'options',
41
+ options: [
42
+ {
43
+ name: '等于',
44
+ value: 'equal',
45
+ },
46
+ {
47
+ name: '不等于',
48
+ value: 'notEqual',
49
+ },
50
+ {
51
+ name: '包含',
52
+ value: 'contain',
53
+ },
54
+ {
55
+ name: '不包含',
56
+ value: 'notContain',
57
+ },
58
+ {
59
+ name: '为空',
60
+ value: 'empty',
61
+ },
62
+ {
63
+ name: '不为空',
64
+ value: 'notEmpty',
65
+ },
66
+ {
67
+ name: '大于',
68
+ value: 'greater',
69
+ },
70
+ {
71
+ name: '大于等于',
72
+ value: 'greaterEqual',
73
+ },
74
+ {
75
+ name: '小于',
76
+ value: 'less',
77
+ },
78
+ {
79
+ name: '小于等于',
80
+ value: 'lessEqual',
81
+ },
82
+ ],
83
+ default: 'equal',
84
+ },
85
+ {
86
+ displayName: '条件值',
87
+ name: 'value',
88
+ type: 'string',
89
+ default: '',
90
+ placeholder: '输入条件值',
91
+ description: '输入要比较的值',
92
+ displayOptions: {
93
+ show: {
94
+ operator: ['equal', 'notEqual', 'greater', 'greaterEqual', 'less', 'lessEqual'],
95
+ },
96
+ },
97
+ },
98
+ {
99
+ displayName: '条件值',
100
+ name: 'value',
101
+ type: 'string',
102
+ placeholder: '例如:value1, value2',
103
+ description: '多个参数请用","分隔',
104
+ hint: '多个参数请用","分隔',
105
+ default: '',
106
+ displayOptions: {
107
+ show: {
108
+ operator: ['contain', 'notContain'],
109
+ },
110
+ },
111
+ },
112
+ ],
113
+ },
114
+ ],
16
115
  },
17
116
  {
18
- displayName: '数据表ID或名称 (sheetIdOrName)',
19
- name: 'sheetIdOrName',
20
- type: 'string',
21
- default: '',
22
- required: true,
23
- description: '可通过AI表格 解析URL 操作获取sheetId',
24
- displayOptions: showOnly,
117
+ displayName: '筛选条件组合方式',
118
+ name: 'combination',
119
+ type: 'options',
120
+ default: 'and',
121
+ options: [
122
+ { name: 'AND', value: 'and', description: '同时满足所有条件' },
123
+ { name: 'OR', value: 'or', description: '满足任一条件' },
124
+ ],
125
+ },
126
+ {
127
+ displayName: '每页获取的数据量',
128
+ name: 'maxResults',
129
+ type: 'number',
130
+ default: 100,
131
+ placeholder: '100',
132
+ description: '每页获取的数据量,默认值为100,最小值为1,最大值为100。',
25
133
  },
26
134
  {
27
- displayName: '操作人的 unionId (operatorId)',
28
- name: 'operatorId',
135
+ displayName: '上一次查询返回的游标',
136
+ name: 'nextToken',
29
137
  type: 'string',
30
138
  default: '',
31
- required: true,
32
- description: '可通过用户管理 查询用户详情 获取',
33
- displayOptions: showOnly,
139
+ placeholder: '上一次查询返回的游标,首次查询时不需要传',
140
+ description: '上一次查询返回的游标,首次查询时不需要传',
34
141
  },
35
- {
36
- displayName: '请求体 JSON',
37
- name: 'body',
38
- type: 'json',
39
- default: JSON.stringify({
142
+ ];
143
+ const properties = [
144
+ ...(0, operator_1.operatorProps)(showOnly),
145
+ ...(0, common_1.baseProps)(showOnly),
146
+ ...(0, common_1.sheetProps)(showOnly),
147
+ ...(0, body_1.bodyProps)(showOnly, {
148
+ defaultMode: 'form',
149
+ defaultJsonBody: JSON.stringify({
40
150
  filter: {
41
151
  combination: 'and',
42
152
  conditions: [
43
153
  {
44
154
  field: '标题',
45
- operator: 'equals',
46
- value: 'test',
155
+ operator: 'equal',
156
+ value: ['test'],
157
+ },
158
+ {
159
+ field: '标签',
160
+ operator: 'contain',
161
+ value: ['重要', '紧急'],
47
162
  },
48
163
  ],
49
164
  },
50
- }),
51
- description: '官方文档: https://open.dingtalk.com/document/development/api-notable-listrecords',
52
- displayOptions: showOnly,
53
- },
165
+ }, null, 2),
166
+ jsonDescription: '请求体JSON。<a href="https://open.dingtalk.com/document/development/api-notable-listrecords" target="_blank">查看官方API文档</a>',
167
+ formProperties,
168
+ }),
54
169
  ];
55
170
  const op = {
56
171
  value: OP,
@@ -58,11 +173,49 @@ const op = {
58
173
  description: '获取AI表格里指定数据表的多行记录',
59
174
  properties,
60
175
  async run(itemIndex) {
61
- const baseId = this.getNodeParameter('baseId', itemIndex);
62
- const sheet = this.getNodeParameter('sheetIdOrName', itemIndex);
63
- const operatorId = this.getNodeParameter('operatorId', itemIndex);
64
- const raw = this.getNodeParameter('body', itemIndex, {});
65
- const body = (0, validation_1.parseJsonBody)(raw, this.getNode(), itemIndex);
176
+ const baseId = (0, common_1.getBase)(this, itemIndex);
177
+ const sheet = (0, common_1.getSheet)(this, itemIndex);
178
+ const operatorId = await (0, operator_1.getOperatorId)(this, itemIndex);
179
+ const body = (0, body_1.getBodyData)(this, itemIndex, {
180
+ formBuilder: (ctx, idx) => {
181
+ const result = {};
182
+ const filter = ctx.getNodeParameter('filter', idx, {});
183
+ const combination = ctx.getNodeParameter('combination', idx, 'and');
184
+ if (filter.conditions && Array.isArray(filter.conditions)) {
185
+ result.filter = {
186
+ combination,
187
+ conditions: filter.conditions.map((cond) => {
188
+ const { operator } = cond;
189
+ let value;
190
+ if (operator === 'empty' || operator === 'notEmpty') {
191
+ value = '';
192
+ }
193
+ else {
194
+ value = cond.value
195
+ .trim()
196
+ .split(/[\n,,]/)
197
+ .map((v) => v.trim())
198
+ .filter((v) => v.length > 0);
199
+ }
200
+ return {
201
+ field: cond.field,
202
+ operator: cond.operator,
203
+ value,
204
+ };
205
+ }),
206
+ };
207
+ }
208
+ const maxResults = ctx.getNodeParameter('maxResults', idx, 100);
209
+ const nextToken = ctx.getNodeParameter('nextToken', idx, '');
210
+ if (maxResults) {
211
+ result.maxResults = maxResults;
212
+ }
213
+ if (nextToken) {
214
+ result.nextToken = nextToken;
215
+ }
216
+ return result;
217
+ },
218
+ });
66
219
  const resp = await request_1.request.call(this, {
67
220
  method: 'POST',
68
221
  url: `/notable/bases/${baseId}/sheets/${sheet}/records/list`,
@@ -1 +1 @@
1
- {"version":3,"file":"recordList.js","sourceRoot":"","sources":["../../../../../nodes/DingtalkNode/resources/notable/recordList.ts"],"names":[],"mappings":";;AAOA,qDAAkD;AAClD,2DAA2D;AAE3D,MAAM,EAAE,GAAG,uBAAuB,CAAC;AAGnC,MAAM,QAAQ,GAAG,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;AAE/C,MAAM,UAAU,GAAsB;IACpC;QACE,WAAW,EAAE,iBAAiB;QAC9B,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,oBAAoB;QACjC,cAAc,EAAE,QAAQ;KACzB;IACD;QACE,WAAW,EAAE,0BAA0B;QACvC,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,2BAA2B;QACxC,cAAc,EAAE,QAAQ;KACzB;IACD;QACE,WAAW,EAAE,2BAA2B;QACxC,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,mBAAmB;QAChC,cAAc,EAAE,QAAQ;KACzB;IACD;QACE,WAAW,EAAE,UAAU;QACvB,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;YACtB,MAAM,EAAE;gBACN,WAAW,EAAE,KAAK;gBAClB,UAAU,EAAE;oBACV;wBACE,KAAK,EAAE,IAAI;wBACX,QAAQ,EAAE,QAAQ;wBAClB,KAAK,EAAE,MAAM;qBACd;iBACF;aACF;SACF,CAAC;QACF,WAAW,EAAE,8EAA8E;QAC3F,cAAc,EAAE,QAAQ;KACzB;CACF,CAAC;AAEF,MAAM,EAAE,GAAiB;IACvB,KAAK,EAAE,EAAE;IACT,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,mBAAmB;IAChC,UAAU;IAEV,KAAK,CAAC,GAAG,CAA0B,SAAiB;QAClD,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,SAAS,CAAW,CAAC;QACpE,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,eAAe,EAAE,SAAS,CAAW,CAAC;QAC1E,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,SAAS,CAAW,CAAC;QAC5E,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,CAAY,CAAC;QAEpE,MAAM,IAAI,GAAG,IAAA,0BAAa,EAAC,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;QAE3D,MAAM,IAAI,GAAG,MAAM,iBAAO,CAAC,IAAI,CAAC,IAAI,EAAE;YACpC,MAAM,EAAE,MAAM;YACd,GAAG,EAAE,kBAAkB,MAAM,WAAW,KAAK,eAAe;YAC5D,EAAE,EAAE,EAAE,UAAU,EAAE;YAClB,IAAI;SACL,CAAC,CAAC;QAEH,MAAM,GAAG,GAAgB,IAA8B,CAAC;QACxD,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC;IACxD,CAAC;CACF,CAAC;AAEF,kBAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"recordList.js","sourceRoot":"","sources":["../../../../../nodes/DingtalkNode/resources/notable/recordList.ts"],"names":[],"mappings":"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"}