@limetech/n8n-nodes-lime 2.5.3 → 2.5.5-dev.1

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 (252) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/credentials/FortnoxApi.credentials.d.ts +9 -0
  3. package/dist/credentials/FortnoxApi.credentials.js +57 -0
  4. package/dist/credentials/FortnoxApi.credentials.js.map +1 -0
  5. package/dist/credentials/LimeCrmApi.credentials.d.ts +9 -0
  6. package/dist/credentials/LimeCrmApi.credentials.js +70 -0
  7. package/dist/credentials/LimeCrmApi.credentials.js.map +1 -0
  8. package/dist/credentials/index.d.ts +2 -0
  9. package/dist/credentials/index.js +19 -0
  10. package/dist/credentials/index.js.map +1 -0
  11. package/dist/nodes/errorHandling.d.ts +11 -0
  12. package/dist/nodes/errorHandling.js +20 -0
  13. package/dist/nodes/errorHandling.js.map +1 -0
  14. package/dist/nodes/fortnox/Fortnox.node.d.ts +5 -0
  15. package/dist/nodes/fortnox/Fortnox.node.js +95 -0
  16. package/dist/nodes/fortnox/Fortnox.node.js.map +1 -0
  17. package/dist/nodes/fortnox/Fortnox.node.json +18 -0
  18. package/dist/nodes/fortnox/FortnoxTrigger.node.d.ts +5 -0
  19. package/dist/nodes/fortnox/FortnoxTrigger.node.js +155 -0
  20. package/dist/nodes/fortnox/FortnoxTrigger.node.js.map +1 -0
  21. package/dist/nodes/fortnox/FortnoxTrigger.node.json +18 -0
  22. package/dist/nodes/fortnox/commons.d.ts +25 -0
  23. package/dist/nodes/fortnox/commons.js +44 -0
  24. package/dist/nodes/fortnox/commons.js.map +1 -0
  25. package/dist/nodes/fortnox/fortnoxLogo.svg +15 -0
  26. package/dist/nodes/fortnox/index.d.ts +6 -0
  27. package/dist/nodes/fortnox/index.js +23 -0
  28. package/dist/nodes/fortnox/index.js.map +1 -0
  29. package/dist/nodes/fortnox/model.d.ts +20 -0
  30. package/dist/nodes/fortnox/model.js +3 -0
  31. package/dist/nodes/fortnox/model.js.map +1 -0
  32. package/dist/nodes/fortnox/resources/customers/filterParameters.d.ts +2 -0
  33. package/dist/nodes/fortnox/resources/customers/filterParameters.js +31 -0
  34. package/dist/nodes/fortnox/resources/customers/filterParameters.js.map +1 -0
  35. package/dist/nodes/fortnox/resources/customers/index.d.ts +7 -0
  36. package/dist/nodes/fortnox/resources/customers/index.js +85 -0
  37. package/dist/nodes/fortnox/resources/customers/index.js.map +1 -0
  38. package/dist/nodes/fortnox/resources/customers/model.d.ts +99 -0
  39. package/dist/nodes/fortnox/resources/customers/model.js +3 -0
  40. package/dist/nodes/fortnox/resources/customers/model.js.map +1 -0
  41. package/dist/nodes/fortnox/resources/customers/operations/create.operation.d.ts +10 -0
  42. package/dist/nodes/fortnox/resources/customers/operations/create.operation.js +281 -0
  43. package/dist/nodes/fortnox/resources/customers/operations/create.operation.js.map +1 -0
  44. package/dist/nodes/fortnox/resources/customers/operations/delete.operation.d.ts +9 -0
  45. package/dist/nodes/fortnox/resources/customers/operations/delete.operation.js +38 -0
  46. package/dist/nodes/fortnox/resources/customers/operations/delete.operation.js.map +1 -0
  47. package/dist/nodes/fortnox/resources/customers/operations/get.operation.d.ts +10 -0
  48. package/dist/nodes/fortnox/resources/customers/operations/get.operation.js +38 -0
  49. package/dist/nodes/fortnox/resources/customers/operations/get.operation.js.map +1 -0
  50. package/dist/nodes/fortnox/resources/customers/operations/getAll.operation.d.ts +10 -0
  51. package/dist/nodes/fortnox/resources/customers/operations/getAll.operation.js +68 -0
  52. package/dist/nodes/fortnox/resources/customers/operations/getAll.operation.js.map +1 -0
  53. package/dist/nodes/fortnox/resources/customers/operations/index.d.ts +5 -0
  54. package/dist/nodes/fortnox/resources/customers/operations/index.js +42 -0
  55. package/dist/nodes/fortnox/resources/customers/operations/index.js.map +1 -0
  56. package/dist/nodes/fortnox/resources/customers/operations/update.operation.d.ts +10 -0
  57. package/dist/nodes/fortnox/resources/customers/operations/update.operation.js +261 -0
  58. package/dist/nodes/fortnox/resources/customers/operations/update.operation.js.map +1 -0
  59. package/dist/nodes/fortnox/resources/customers/sortParameters.d.ts +2 -0
  60. package/dist/nodes/fortnox/resources/customers/sortParameters.js +30 -0
  61. package/dist/nodes/fortnox/resources/customers/sortParameters.js.map +1 -0
  62. package/dist/nodes/fortnox/resources/invoice/filterParameters.d.ts +2 -0
  63. package/dist/nodes/fortnox/resources/invoice/filterParameters.js +72 -0
  64. package/dist/nodes/fortnox/resources/invoice/filterParameters.js.map +1 -0
  65. package/dist/nodes/fortnox/resources/invoice/index.d.ts +7 -0
  66. package/dist/nodes/fortnox/resources/invoice/index.js +81 -0
  67. package/dist/nodes/fortnox/resources/invoice/index.js.map +1 -0
  68. package/dist/nodes/fortnox/resources/invoice/invoiceParameters.d.ts +2 -0
  69. package/dist/nodes/fortnox/resources/invoice/invoiceParameters.js +193 -0
  70. package/dist/nodes/fortnox/resources/invoice/invoiceParameters.js.map +1 -0
  71. package/dist/nodes/fortnox/resources/invoice/model.d.ts +147 -0
  72. package/dist/nodes/fortnox/resources/invoice/model.js +3 -0
  73. package/dist/nodes/fortnox/resources/invoice/model.js.map +1 -0
  74. package/dist/nodes/fortnox/resources/invoice/operations/create.operation.d.ts +10 -0
  75. package/dist/nodes/fortnox/resources/invoice/operations/create.operation.js +64 -0
  76. package/dist/nodes/fortnox/resources/invoice/operations/create.operation.js.map +1 -0
  77. package/dist/nodes/fortnox/resources/invoice/operations/get.operation.d.ts +10 -0
  78. package/dist/nodes/fortnox/resources/invoice/operations/get.operation.js +37 -0
  79. package/dist/nodes/fortnox/resources/invoice/operations/get.operation.js.map +1 -0
  80. package/dist/nodes/fortnox/resources/invoice/operations/getAll.operation.d.ts +10 -0
  81. package/dist/nodes/fortnox/resources/invoice/operations/getAll.operation.js +92 -0
  82. package/dist/nodes/fortnox/resources/invoice/operations/getAll.operation.js.map +1 -0
  83. package/dist/nodes/fortnox/resources/invoice/operations/index.d.ts +4 -0
  84. package/dist/nodes/fortnox/resources/invoice/operations/index.js +41 -0
  85. package/dist/nodes/fortnox/resources/invoice/operations/index.js.map +1 -0
  86. package/dist/nodes/fortnox/resources/invoice/operations/update.operation.d.ts +10 -0
  87. package/dist/nodes/fortnox/resources/invoice/operations/update.operation.js +64 -0
  88. package/dist/nodes/fortnox/resources/invoice/operations/update.operation.js.map +1 -0
  89. package/dist/nodes/fortnox/transport/errorCodes.d.ts +1 -0
  90. package/dist/nodes/fortnox/transport/errorCodes.js +50 -0
  91. package/dist/nodes/fortnox/transport/errorCodes.js.map +1 -0
  92. package/dist/nodes/fortnox/transport/index.d.ts +3 -0
  93. package/dist/nodes/fortnox/transport/index.js +76 -0
  94. package/dist/nodes/fortnox/transport/index.js.map +1 -0
  95. package/dist/nodes/index.d.ts +4 -0
  96. package/dist/nodes/index.js +21 -0
  97. package/dist/nodes/index.js.map +1 -0
  98. package/dist/nodes/lime-crm/LimeCrm.node.json +18 -0
  99. package/dist/nodes/lime-crm/LimeCrmNode.node.d.ts +19 -0
  100. package/dist/nodes/lime-crm/LimeCrmNode.node.js +122 -0
  101. package/dist/nodes/lime-crm/LimeCrmNode.node.js.map +1 -0
  102. package/dist/nodes/lime-crm/LimeCrmTrigger.node.d.ts +18 -0
  103. package/dist/nodes/lime-crm/LimeCrmTrigger.node.js +215 -0
  104. package/dist/nodes/lime-crm/LimeCrmTrigger.node.js.map +1 -0
  105. package/dist/nodes/lime-crm/assets/lime-crm.svg +1 -0
  106. package/dist/nodes/lime-crm/index.d.ts +9 -0
  107. package/dist/nodes/lime-crm/index.js +26 -0
  108. package/dist/nodes/lime-crm/index.js.map +1 -0
  109. package/dist/nodes/lime-crm/methods/getLimetypeProperties.d.ts +5 -0
  110. package/dist/nodes/lime-crm/methods/getLimetypeProperties.js +47 -0
  111. package/dist/nodes/lime-crm/methods/getLimetypeProperties.js.map +1 -0
  112. package/dist/nodes/lime-crm/methods/getLimetypes.d.ts +2 -0
  113. package/dist/nodes/lime-crm/methods/getLimetypes.js +20 -0
  114. package/dist/nodes/lime-crm/methods/getLimetypes.js.map +1 -0
  115. package/dist/nodes/lime-crm/methods/index.d.ts +3 -0
  116. package/dist/nodes/lime-crm/methods/index.js +15 -0
  117. package/dist/nodes/lime-crm/methods/index.js.map +1 -0
  118. package/dist/nodes/lime-crm/methods/resourceMapping.d.ts +4 -0
  119. package/dist/nodes/lime-crm/methods/resourceMapping.js +71 -0
  120. package/dist/nodes/lime-crm/methods/resourceMapping.js.map +1 -0
  121. package/dist/nodes/lime-crm/models/constants.d.ts +9 -0
  122. package/dist/nodes/lime-crm/models/constants.js +10 -0
  123. package/dist/nodes/lime-crm/models/constants.js.map +1 -0
  124. package/dist/nodes/lime-crm/models/index.d.ts +6 -0
  125. package/dist/nodes/lime-crm/models/index.js +13 -0
  126. package/dist/nodes/lime-crm/models/index.js.map +1 -0
  127. package/dist/nodes/lime-crm/models/limeobject.d.ts +4 -0
  128. package/dist/nodes/lime-crm/models/limeobject.js +3 -0
  129. package/dist/nodes/lime-crm/models/limeobject.js.map +1 -0
  130. package/dist/nodes/lime-crm/models/limetype.d.ts +24 -0
  131. package/dist/nodes/lime-crm/models/limetype.js +3 -0
  132. package/dist/nodes/lime-crm/models/limetype.js.map +1 -0
  133. package/dist/nodes/lime-crm/models/propertyTypes.d.ts +4 -0
  134. package/dist/nodes/lime-crm/models/propertyTypes.js +5 -0
  135. package/dist/nodes/lime-crm/models/propertyTypes.js.map +1 -0
  136. package/dist/nodes/lime-crm/models/users.d.ts +13 -0
  137. package/dist/nodes/lime-crm/models/users.js +3 -0
  138. package/dist/nodes/lime-crm/models/users.js.map +1 -0
  139. package/dist/nodes/lime-crm/models/webhook.d.ts +18 -0
  140. package/dist/nodes/lime-crm/models/webhook.js +3 -0
  141. package/dist/nodes/lime-crm/models/webhook.js.map +1 -0
  142. package/dist/nodes/lime-crm/resources/admin/index.d.ts +7 -0
  143. package/dist/nodes/lime-crm/resources/admin/index.js +89 -0
  144. package/dist/nodes/lime-crm/resources/admin/index.js.map +1 -0
  145. package/dist/nodes/lime-crm/resources/admin/operations/getManyUsers.operation.d.ts +11 -0
  146. package/dist/nodes/lime-crm/resources/admin/operations/getManyUsers.operation.js +123 -0
  147. package/dist/nodes/lime-crm/resources/admin/operations/getManyUsers.operation.js.map +1 -0
  148. package/dist/nodes/lime-crm/resources/admin/operations/getSingleUser.operation.d.ts +11 -0
  149. package/dist/nodes/lime-crm/resources/admin/operations/getSingleUser.operation.js +87 -0
  150. package/dist/nodes/lime-crm/resources/admin/operations/getSingleUser.operation.js.map +1 -0
  151. package/dist/nodes/lime-crm/resources/admin/operations/index.d.ts +2 -0
  152. package/dist/nodes/lime-crm/resources/admin/operations/index.js +39 -0
  153. package/dist/nodes/lime-crm/resources/admin/operations/index.js.map +1 -0
  154. package/dist/nodes/lime-crm/resources/data/index.d.ts +7 -0
  155. package/dist/nodes/lime-crm/resources/data/index.js +108 -0
  156. package/dist/nodes/lime-crm/resources/data/index.js.map +1 -0
  157. package/dist/nodes/lime-crm/resources/data/operations/createSingleObject.operation.d.ts +11 -0
  158. package/dist/nodes/lime-crm/resources/data/operations/createSingleObject.operation.js +124 -0
  159. package/dist/nodes/lime-crm/resources/data/operations/createSingleObject.operation.js.map +1 -0
  160. package/dist/nodes/lime-crm/resources/data/operations/deleteSingleObject.operation.d.ts +10 -0
  161. package/dist/nodes/lime-crm/resources/data/operations/deleteSingleObject.operation.js +52 -0
  162. package/dist/nodes/lime-crm/resources/data/operations/deleteSingleObject.operation.js.map +1 -0
  163. package/dist/nodes/lime-crm/resources/data/operations/getManyObjects.operation.d.ts +11 -0
  164. package/dist/nodes/lime-crm/resources/data/operations/getManyObjects.operation.js +299 -0
  165. package/dist/nodes/lime-crm/resources/data/operations/getManyObjects.operation.js.map +1 -0
  166. package/dist/nodes/lime-crm/resources/data/operations/getSingleFile.operation.d.ts +9 -0
  167. package/dist/nodes/lime-crm/resources/data/operations/getSingleFile.operation.js +125 -0
  168. package/dist/nodes/lime-crm/resources/data/operations/getSingleFile.operation.js.map +1 -0
  169. package/dist/nodes/lime-crm/resources/data/operations/getSingleObject.operation.d.ts +11 -0
  170. package/dist/nodes/lime-crm/resources/data/operations/getSingleObject.operation.js +79 -0
  171. package/dist/nodes/lime-crm/resources/data/operations/getSingleObject.operation.js.map +1 -0
  172. package/dist/nodes/lime-crm/resources/data/operations/index.d.ts +6 -0
  173. package/dist/nodes/lime-crm/resources/data/operations/index.js +43 -0
  174. package/dist/nodes/lime-crm/resources/data/operations/index.js.map +1 -0
  175. package/dist/nodes/lime-crm/resources/data/operations/updateSingleObject.operation.d.ts +11 -0
  176. package/dist/nodes/lime-crm/resources/data/operations/updateSingleObject.operation.js +146 -0
  177. package/dist/nodes/lime-crm/resources/data/operations/updateSingleObject.operation.js.map +1 -0
  178. package/dist/nodes/lime-crm/resources/metadata/index.d.ts +7 -0
  179. package/dist/nodes/lime-crm/resources/metadata/index.js +93 -0
  180. package/dist/nodes/lime-crm/resources/metadata/index.js.map +1 -0
  181. package/dist/nodes/lime-crm/resources/metadata/operations/getAllLimetypes.operation.d.ts +10 -0
  182. package/dist/nodes/lime-crm/resources/metadata/operations/getAllLimetypes.operation.js +16 -0
  183. package/dist/nodes/lime-crm/resources/metadata/operations/getAllLimetypes.operation.js.map +1 -0
  184. package/dist/nodes/lime-crm/resources/metadata/operations/getSingleFileMetadata.operation.d.ts +11 -0
  185. package/dist/nodes/lime-crm/resources/metadata/operations/getSingleFileMetadata.operation.js +113 -0
  186. package/dist/nodes/lime-crm/resources/metadata/operations/getSingleFileMetadata.operation.js.map +1 -0
  187. package/dist/nodes/lime-crm/resources/metadata/operations/getSingleLimetype.operation.d.ts +11 -0
  188. package/dist/nodes/lime-crm/resources/metadata/operations/getSingleLimetype.operation.js +37 -0
  189. package/dist/nodes/lime-crm/resources/metadata/operations/getSingleLimetype.operation.js.map +1 -0
  190. package/dist/nodes/lime-crm/resources/metadata/operations/index.d.ts +3 -0
  191. package/dist/nodes/lime-crm/resources/metadata/operations/index.js +40 -0
  192. package/dist/nodes/lime-crm/resources/metadata/operations/index.js.map +1 -0
  193. package/dist/nodes/lime-crm/transport/commons.d.ts +14 -0
  194. package/dist/nodes/lime-crm/transport/commons.js +52 -0
  195. package/dist/nodes/lime-crm/transport/commons.js.map +1 -0
  196. package/dist/nodes/lime-crm/transport/files.d.ts +26 -0
  197. package/dist/nodes/lime-crm/transport/files.js +96 -0
  198. package/dist/nodes/lime-crm/transport/files.js.map +1 -0
  199. package/dist/nodes/lime-crm/transport/index.d.ts +7 -0
  200. package/dist/nodes/lime-crm/transport/index.js +32 -0
  201. package/dist/nodes/lime-crm/transport/index.js.map +1 -0
  202. package/dist/nodes/lime-crm/transport/limeQuery.d.ts +10 -0
  203. package/dist/nodes/lime-crm/transport/limeQuery.js +18 -0
  204. package/dist/nodes/lime-crm/transport/limeQuery.js.map +1 -0
  205. package/dist/nodes/lime-crm/transport/limeobjects.d.ts +16 -0
  206. package/dist/nodes/lime-crm/transport/limeobjects.js +76 -0
  207. package/dist/nodes/lime-crm/transport/limeobjects.js.map +1 -0
  208. package/dist/nodes/lime-crm/transport/limetypes.d.ts +33 -0
  209. package/dist/nodes/lime-crm/transport/limetypes.js +85 -0
  210. package/dist/nodes/lime-crm/transport/limetypes.js.map +1 -0
  211. package/dist/nodes/lime-crm/transport/users.d.ts +6 -0
  212. package/dist/nodes/lime-crm/transport/users.js +159 -0
  213. package/dist/nodes/lime-crm/transport/users.js.map +1 -0
  214. package/dist/nodes/lime-crm/transport/webhooks.d.ts +14 -0
  215. package/dist/nodes/lime-crm/transport/webhooks.js +51 -0
  216. package/dist/nodes/lime-crm/transport/webhooks.js.map +1 -0
  217. package/dist/nodes/lime-crm/utils/files.d.ts +8 -0
  218. package/dist/nodes/lime-crm/utils/files.js +103 -0
  219. package/dist/nodes/lime-crm/utils/files.js.map +1 -0
  220. package/dist/nodes/lime-crm/utils/hmac.d.ts +1 -0
  221. package/dist/nodes/lime-crm/utils/hmac.js +11 -0
  222. package/dist/nodes/lime-crm/utils/hmac.js.map +1 -0
  223. package/dist/nodes/lime-crm/utils/index.d.ts +4 -0
  224. package/dist/nodes/lime-crm/utils/index.js +16 -0
  225. package/dist/nodes/lime-crm/utils/index.js.map +1 -0
  226. package/dist/nodes/lime-crm/utils/webhook.d.ts +2 -0
  227. package/dist/nodes/lime-crm/utils/webhook.js +34 -0
  228. package/dist/nodes/lime-crm/utils/webhook.js.map +1 -0
  229. package/dist/nodes/modules.d.ts +12 -0
  230. package/dist/nodes/modules.js +16 -0
  231. package/dist/nodes/modules.js.map +1 -0
  232. package/dist/nodes/response.d.ts +18 -0
  233. package/dist/nodes/response.js +3 -0
  234. package/dist/nodes/response.js.map +1 -0
  235. package/dist/package.json +69 -0
  236. package/dist/tsconfig.tsbuildinfo +1 -0
  237. package/package.json +1 -2
  238. package/.github/workflows/lint.yml +0 -23
  239. package/.github/workflows/mark-stale.yml +0 -21
  240. package/.github/workflows/release.yml +0 -35
  241. package/.github/workflows/test-and-build.yml +0 -32
  242. package/.prettierrc.mjs +0 -1
  243. package/.releaserc.json +0 -35
  244. package/Dockerfile +0 -0
  245. package/eslint.config.mjs +0 -28
  246. package/jest.config.js +0 -11
  247. package/knip.json +0 -9
  248. package/tests/nodes/lime-crm/methods.spec.ts +0 -91
  249. package/tests/nodes/lime-crm/utils.spec.ts +0 -273
  250. package/tsconfig.json +0 -30
  251. package/typedoc.css +0 -9
  252. package/typedoc.json +0 -19
@@ -1,91 +0,0 @@
1
- import {
2
- getCreateMappingColumns,
3
- getUpdateMappingColumns,
4
- LimetypeProperty,
5
- SuccessResponse,
6
- } from '../../../nodes';
7
- import { ILoadOptionsFunctions } from 'n8n-workflow';
8
- import * as transport from '../../../nodes/lime-crm/transport';
9
-
10
- const mockILoadOptionFunctions = {
11
- getNodeParameter: jest.fn().mockReturnValue('company'),
12
- } as unknown as ILoadOptionsFunctions;
13
-
14
- const propertiesResponseMock = {
15
- success: true,
16
- data: [
17
- { name: 'p1', localname: 'Property 1', type: 'yesno', required: true },
18
- {
19
- name: 'p2',
20
- localname: 'Property 2',
21
- type: 'string',
22
- required: false,
23
- length: 2137,
24
- },
25
- {
26
- name: 'p3',
27
- localname: 'Property 3',
28
- type: 'option',
29
- required: true,
30
- options: [
31
- { key: 'op1', text: 'Option 1', inactive: false },
32
- { key: 'op2', text: 'Option 2', inactive: false },
33
- { key: 'op3', text: 'Option 3', inactive: true },
34
- ],
35
- },
36
- ],
37
- } as SuccessResponse<LimetypeProperty[]>;
38
-
39
- describe('resourceMapping', () => {
40
- beforeEach(() => {
41
- jest.spyOn(transport, 'getProperties').mockResolvedValue(
42
- propertiesResponseMock
43
- );
44
- });
45
- it('gets valid resource mapping for create', async () => {
46
- const columns = await getCreateMappingColumns.call(
47
- mockILoadOptionFunctions
48
- );
49
- const property1 = columns.fields.find((p) => p.id == 'p1')!;
50
-
51
- expect(property1.displayName).toBe('Property 1 [yesno]');
52
- expect(property1.required).toBe(true);
53
- expect(property1.defaultMatch).toBe(false);
54
- expect(property1.display).toBe(true);
55
- expect(property1.type).toBe('boolean');
56
- expect(property1.options).toBe(undefined);
57
-
58
- const property2 = columns.fields.find((p) => p.id == 'p2')!;
59
- expect(property2.displayName).toBe('Property 2 [string(2137)]');
60
- expect(property2.required).toBe(false);
61
- expect(property2.defaultMatch).toBe(false);
62
- expect(property2.display).toBe(true);
63
- expect(property2.type).toBe('string');
64
- expect(property2.options).toBe(undefined);
65
-
66
- const property3 = columns.fields.find((p) => p.id == 'p3')!;
67
- expect(property3.displayName).toBe('Property 3 [option]');
68
- expect(property3.required).toBe(true);
69
- expect(property3.defaultMatch).toBe(false);
70
- expect(property3.display).toBe(true);
71
- expect(property3.type).toBe('options');
72
-
73
- const options = property3.options!;
74
- expect(options).toContainEqual({
75
- value: 'op1',
76
- name: 'Option 1',
77
- });
78
- expect(options).toContainEqual({
79
- value: 'op2',
80
- name: 'Option 2',
81
- });
82
- expect(options.length).toBe(2);
83
- });
84
- it('gets proper required values for update', async () => {
85
- const columns = await getUpdateMappingColumns.call(
86
- mockILoadOptionFunctions
87
- );
88
- const requiredValues = columns.fields.map((p) => p.required);
89
- expect(requiredValues).toEqual([false, false, false]);
90
- });
91
- });
@@ -1,273 +0,0 @@
1
- jest.mock('../../../nodes/lime-crm/transport', () => ({
2
- createFile: jest.fn().mockResolvedValue({
3
- success: true,
4
- data: { id: 1 },
5
- }),
6
- getFileMetadata: jest.fn().mockResolvedValue({
7
- success: true,
8
- data: {
9
- id: '123',
10
- name: 'file.txt',
11
- },
12
- }),
13
- getFileContent: jest.fn().mockResolvedValue({
14
- success: true,
15
- data: 'some binary data',
16
- }),
17
- getTasks: jest.fn(),
18
- }));
19
-
20
- import {
21
- createFile,
22
- getFileContent,
23
- getFileMetadata,
24
- getFilenameFromHeader,
25
- getFilePropertiesNames,
26
- getWebhook,
27
- processFileResponse,
28
- setFilename,
29
- setFileProperties,
30
- verifyHmac,
31
- WebhookFunctions,
32
- } from '../../../nodes';
33
-
34
- describe('files', () => {
35
- describe('setFilename', () => {
36
- it('returns responseFileName if fileName is missing', () => {
37
- expect(
38
- setFilename({ fileExtension: 'jpg' } as any, 'default.jpg')
39
- ).toBe('default.jpg');
40
- });
41
- it('returns existing fileName if present', () => {
42
- expect(
43
- setFilename({ fileName: 'aspen.jpg' } as any, 'default.jpg')
44
- ).toBe('aspen.jpg');
45
- });
46
- });
47
-
48
- describe('getFilenameFromHeader', () => {
49
- it('returns null if header is missing', () => {
50
- expect(getFilenameFromHeader({})).toBeNull();
51
- });
52
-
53
- it('parses standard filename', () => {
54
- expect(
55
- getFilenameFromHeader({
56
- 'content-disposition': 'attachment; filename="test.txt"',
57
- })
58
- ).toBe('test.txt');
59
- });
60
-
61
- it('parses RFC 5987 filename*', () => {
62
- expect(
63
- getFilenameFromHeader({
64
- 'content-disposition':
65
- "attachment; filename*=UTF-8''test%20file.txt",
66
- })
67
- ).toBe('test file.txt');
68
- });
69
- });
70
-
71
- describe('getFilePropertiesNames', () => {
72
- const limetypes = [
73
- {
74
- name: 'company',
75
- type: 'belongsto',
76
- localname: 'company',
77
- required: false,
78
- },
79
- {
80
- name: 'name',
81
- type: 'string',
82
- localname: 'name',
83
- required: false,
84
- },
85
- {
86
- name: 'document',
87
- type: 'file',
88
- localname: 'document',
89
- required: false,
90
- },
91
- {
92
- name: 'photo',
93
- type: 'file',
94
- localname: 'photo',
95
- required: false,
96
- },
97
- ];
98
- it('returns all file property names', async () => {
99
- const result = getFilePropertiesNames(limetypes);
100
- expect(result.has('document')).toBe(true);
101
- expect(result.has('photo')).toBe(true);
102
- expect(result.has('name')).toBe(false);
103
- expect(result.has('company')).toBe(false);
104
- });
105
- it('returns allowed file property names', async () => {
106
- const result = getFilePropertiesNames(
107
- limetypes,
108
- new Set(['document'])
109
- );
110
- expect(result.has('document')).toBe(true);
111
- expect(result.has('photo')).toBe(false);
112
- expect(result.has('name')).toBe(false);
113
- expect(result.has('company')).toBe(false);
114
- });
115
- });
116
-
117
- describe('setFileProperties', () => {
118
- const mockContext: any = {
119
- helpers: {
120
- assertBinaryData: jest.fn(),
121
- },
122
- };
123
- const mockBinaryData = { data: 'some binary data' };
124
-
125
- beforeEach(() => {
126
- (createFile as jest.Mock).mockClear();
127
- mockContext.helpers.assertBinaryData.mockClear();
128
- });
129
-
130
- it('sets file properties successfully', async () => {
131
- mockContext.helpers.assertBinaryData.mockReturnValue(
132
- mockBinaryData
133
- );
134
-
135
- const definedProperties = { document: 'some binary data' };
136
- const result = await setFileProperties(
137
- mockContext,
138
- 0,
139
- new Set(['document']),
140
- definedProperties
141
- );
142
- expect(result.success).toBe(true);
143
- if (result.success) {
144
- expect(result.data.document).toBe(1);
145
- }
146
- });
147
-
148
- it('sets file ID if assertBinaryData throws an error', async () => {
149
- mockContext.helpers.assertBinaryData.mockImplementation(() => {
150
- throw new Error('Invalid binary data');
151
- });
152
- const definedProperties = { document: 2 };
153
- const result = await setFileProperties(
154
- mockContext,
155
- 0,
156
- new Set(['document']),
157
- definedProperties
158
- );
159
- expect(result.success).toBe(true);
160
- if (result.success) {
161
- expect(result.data.document).toBe(2);
162
- }
163
- });
164
- });
165
-
166
- describe('processFileResponse', () => {
167
- const mockNodeContext = {};
168
-
169
- beforeEach(() => {
170
- (getFileMetadata as jest.Mock).mockClear();
171
- (getFileContent as jest.Mock).mockClear();
172
- });
173
-
174
- it('returns file metadata without file content', async () => {
175
- const data = { document: 1 };
176
- const result = await processFileResponse<{ document: number }>(
177
- mockNodeContext as any,
178
- new Set(['document']),
179
- data
180
- );
181
- expect(result.json.success).toBe(true);
182
- if (result.json.success) {
183
- expect(result.json.data.document).toEqual({
184
- id: '123',
185
- name: 'file.txt',
186
- });
187
- expect(result.binary).toEqual({});
188
- }
189
- });
190
-
191
- it('returns file metadata with file content', async () => {
192
- const data = { document: 1 };
193
- const result = await processFileResponse<{ document: number }>(
194
- mockNodeContext as any,
195
- new Set(['document']),
196
- data,
197
- true
198
- );
199
- if (result.json.success) {
200
- expect(result.json.data.document).toEqual({
201
- id: '123',
202
- name: 'file.txt',
203
- });
204
- expect(result.binary?.document).toEqual('some binary data');
205
- }
206
- });
207
- });
208
- });
209
-
210
- describe('hmac', () => {
211
- describe('verifyHmac', () => {
212
- const key = 'my-secret-key';
213
- const data = Buffer.from('hello world');
214
- const correctHmac =
215
- 'sha256=90eb182d8396f16d4341d582047f45c0a97d73388c5377d9ced478a2212295ad';
216
-
217
- it('returns true when the HMAC matches', () => {
218
- expect(verifyHmac(key, data, correctHmac)).toBe(true);
219
- });
220
-
221
- it('returns false when the HMAC does not match', () => {
222
- expect(verifyHmac(key, data, 'wrongHmac')).toBe(false);
223
- });
224
- });
225
- });
226
-
227
- describe('webhook', () => {
228
- describe('getWebhhok', () => {
229
- let mockHookData: jest.Mocked<WebhookFunctions>;
230
-
231
- beforeEach(() => {
232
- jest.useFakeTimers().setSystemTime(
233
- new Date('2025-11-12T12:00:00Z')
234
- );
235
- mockHookData = {
236
- getNode: jest.fn().mockReturnValue({ id: '1', name: 'MyNode' }),
237
- getWorkflow: jest
238
- .fn()
239
- .mockReturnValue({ id: '2', name: 'MyWorkflow' }),
240
- getWorkflowStaticData: jest
241
- .fn()
242
- .mockReturnValue({ key: 'value' }),
243
- getNodeWebhookUrl: jest
244
- .fn()
245
- .mockReturnValue('https://example.com/hook'),
246
- getNodeParameter: jest.fn().mockReturnValue({
247
- event: [{ limetype: 'company', eventType: 'new' }],
248
- }),
249
- } as unknown as jest.Mocked<WebhookFunctions>;
250
- });
251
-
252
- afterEach(() => {
253
- jest.useRealTimers();
254
- });
255
-
256
- it('constructs a full webhook object correctly', () => {
257
- const result = getWebhook(mockHookData);
258
-
259
- expect(result).toEqual({
260
- data: { key: 'value' },
261
- events: ['company.new'],
262
- url: 'https://example.com/hook',
263
- context: {
264
- nodeId: '1',
265
- nodeName: 'MyNode',
266
- workflowId: '2',
267
- workflowName: 'MyWorkflow',
268
- },
269
- name: 'company-new-1762948800000',
270
- });
271
- });
272
- });
273
- });
package/tsconfig.json DELETED
@@ -1,30 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "strict": true,
4
- "module": "commonjs",
5
- "moduleResolution": "node",
6
- "target": "es2019",
7
- "lib": ["es2019", "es2020", "es2022"],
8
- "removeComments": true,
9
- "useUnknownInCatchVariables": false,
10
- "forceConsistentCasingInFileNames": true,
11
- "noImplicitAny": true,
12
- "noImplicitReturns": true,
13
- "noUnusedLocals": true,
14
- "strictNullChecks": true,
15
- "preserveConstEnums": true,
16
- "esModuleInterop": true,
17
- "resolveJsonModule": true,
18
- "incremental": true,
19
- "declaration": true,
20
- "sourceMap": true,
21
- "skipLibCheck": true,
22
- "outDir": "./dist/"
23
- },
24
- "include": [
25
- "credentials/**/*",
26
- "nodes/**/*",
27
- "nodes/**/*.json",
28
- "package.json"
29
- ]
30
- }
package/typedoc.css DELETED
@@ -1,9 +0,0 @@
1
- .tsd-page-toolbar {
2
- background-color: rgb(77, 182, 172);
3
- border: 0;
4
- }
5
-
6
- #tsd-search .title,
7
- #tsd-search label {
8
- --color-text: white;
9
- }
package/typedoc.json DELETED
@@ -1,19 +0,0 @@
1
- {
2
- "$schema": "https://typedoc.org/schema.json",
3
- "entryPoints": [
4
- "./nodes/lime-crm/index.ts",
5
- "./nodes/response.ts",
6
- "./credentials/index.ts"
7
- ],
8
- "entryPointStrategy": "expand",
9
- "name": "Lime N8N Documentation",
10
- "customCss": "typedoc.css",
11
- "out": "docs",
12
- "includeVersion": true,
13
- "readme": "README.md",
14
- "tsconfig": "tsconfig.json",
15
- "disableSources": true,
16
- "hideGenerator": true,
17
- "categorizeByGroup": true,
18
- "cleanOutputDir": true
19
- }