@limetech/n8n-nodes-lime 0.4.0 → 2.3.1-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 (330) hide show
  1. package/.github/workflows/lint.yml +3 -1
  2. package/.github/workflows/release.yml +2 -49
  3. package/.github/workflows/test-and-build.yml +1 -1
  4. package/.prettierignore +3 -1
  5. package/.releaserc.json +2 -1
  6. package/CHANGELOG.md +215 -0
  7. package/README.md +2 -9
  8. package/credentials/LimeCrmApi.credentials.ts +44 -7
  9. package/credentials/index.ts +2 -0
  10. package/eslint.config.mjs +2 -1
  11. package/knip.json +9 -0
  12. package/nodes/fortnox/Fortnox.node.ts +3 -3
  13. package/nodes/fortnox/FortnoxTrigger.node.ts +2 -2
  14. package/nodes/fortnox/index.ts +6 -0
  15. package/nodes/fortnox/resources/customers/index.ts +18 -22
  16. package/nodes/fortnox/resources/customers/operations/create.operation.ts +12 -8
  17. package/nodes/fortnox/resources/customers/operations/delete.operation.ts +10 -15
  18. package/nodes/fortnox/resources/customers/operations/get.operation.ts +10 -15
  19. package/nodes/fortnox/resources/customers/operations/getAll.operation.ts +1 -2
  20. package/nodes/fortnox/resources/customers/operations/index.ts +5 -0
  21. package/nodes/fortnox/resources/customers/operations/update.operation.ts +30 -30
  22. package/nodes/fortnox/resources/invoice/index.ts +16 -18
  23. package/nodes/fortnox/resources/invoice/model.ts +0 -4
  24. package/nodes/fortnox/resources/invoice/operations/create.operation.ts +1 -2
  25. package/nodes/fortnox/resources/invoice/operations/get.operation.ts +10 -15
  26. package/nodes/fortnox/resources/invoice/operations/getAll.operation.ts +1 -2
  27. package/nodes/fortnox/resources/invoice/operations/index.ts +4 -0
  28. package/nodes/fortnox/resources/invoice/operations/update.operation.ts +11 -16
  29. package/nodes/fortnox/transport/index.ts +14 -11
  30. package/nodes/index.ts +4 -0
  31. package/nodes/lime-crm/LimeCrmNode.node.ts +126 -69
  32. package/nodes/lime-crm/LimeCrmTrigger.node.ts +86 -53
  33. package/nodes/lime-crm/index.ts +9 -0
  34. package/nodes/lime-crm/methods/getLimetypeProperties.ts +110 -0
  35. package/nodes/lime-crm/methods/getLimetypes.ts +26 -0
  36. package/nodes/lime-crm/methods/index.ts +7 -3
  37. package/nodes/lime-crm/models/constants.ts +73 -0
  38. package/nodes/lime-crm/models/index.ts +21 -0
  39. package/nodes/lime-crm/models/limeobject.ts +13 -0
  40. package/nodes/lime-crm/models/limetype.ts +47 -0
  41. package/nodes/lime-crm/models/propertyTypes.ts +13 -0
  42. package/nodes/lime-crm/models/users.ts +46 -0
  43. package/nodes/lime-crm/models/webhook.ts +61 -0
  44. package/nodes/lime-crm/resources/admin/index.ts +89 -0
  45. package/nodes/lime-crm/resources/admin/operations/getManyUsers.operation.ts +166 -0
  46. package/nodes/lime-crm/resources/admin/operations/getSingleUser.operation.ts +113 -0
  47. package/nodes/lime-crm/resources/admin/operations/index.ts +8 -0
  48. package/nodes/lime-crm/resources/data/index.ts +117 -0
  49. package/nodes/lime-crm/resources/data/operations/createSingleObject.operation.ts +231 -0
  50. package/nodes/lime-crm/resources/data/operations/deleteSingleObject.operation.ts +83 -0
  51. package/nodes/lime-crm/resources/data/operations/getManyObjects.operation.ts +499 -0
  52. package/nodes/lime-crm/resources/data/operations/getSingleFile.operation.ts +162 -0
  53. package/nodes/lime-crm/resources/data/operations/getSingleObject.operation.ts +116 -0
  54. package/nodes/lime-crm/resources/data/operations/index.ts +24 -0
  55. package/nodes/lime-crm/resources/{limeObject/operations/update.operation.ts → data/operations/updateSingleObject.operation.ts} +91 -25
  56. package/nodes/lime-crm/resources/metadata/index.ts +97 -0
  57. package/nodes/lime-crm/resources/metadata/operations/getAllLimetypes.operation.ts +28 -0
  58. package/nodes/lime-crm/resources/metadata/operations/getSingleFileMetadata.operation.ts +147 -0
  59. package/nodes/lime-crm/resources/metadata/operations/getSingleLimetype.operation.ts +58 -0
  60. package/nodes/lime-crm/resources/metadata/operations/index.ts +12 -0
  61. package/nodes/lime-crm/transport/commons.ts +97 -27
  62. package/nodes/lime-crm/transport/files.ts +220 -0
  63. package/nodes/lime-crm/transport/index.ts +38 -13
  64. package/nodes/lime-crm/transport/limeQuery.ts +44 -10
  65. package/nodes/lime-crm/transport/limeobjects.ts +126 -168
  66. package/nodes/lime-crm/transport/limetypes.ts +169 -57
  67. package/nodes/lime-crm/transport/users.ts +264 -0
  68. package/nodes/lime-crm/transport/webhooks.ts +96 -37
  69. package/nodes/lime-crm/utils/files.ts +198 -0
  70. package/nodes/lime-crm/utils/hmac.ts +35 -0
  71. package/nodes/lime-crm/utils/index.ts +10 -0
  72. package/nodes/lime-crm/utils/propertyAdapters.ts +75 -0
  73. package/nodes/lime-crm/utils/webhook.ts +81 -0
  74. package/nodes/modules.ts +44 -0
  75. package/nodes/response.ts +16 -0
  76. package/package.json +21 -29
  77. package/restore_script/README +42 -0
  78. package/restore_script/api_key_download.txt +0 -0
  79. package/restore_script/api_key_upload.txt +0 -0
  80. package/restore_script/cli.py +73 -0
  81. package/restore_script/download.py +73 -0
  82. package/restore_script/main.py +19 -0
  83. package/restore_script/poetry.lock +162 -0
  84. package/restore_script/pyproject.toml +15 -0
  85. package/restore_script/transfer.py +41 -0
  86. package/restore_script/upload.py +66 -0
  87. package/restore_script/utils.py +42 -0
  88. package/tests/nodes/lime-crm/utils.spec.ts +238 -0
  89. package/typedoc.css +9 -0
  90. package/typedoc.json +19 -0
  91. package/.dockerignore +0 -1
  92. package/Dockerfile +0 -21
  93. package/dist/credentials/FortnoxApi.credentials.d.ts +0 -9
  94. package/dist/credentials/FortnoxApi.credentials.js +0 -57
  95. package/dist/credentials/FortnoxApi.credentials.js.map +0 -1
  96. package/dist/credentials/LimeCrmApi.credentials.d.ts +0 -9
  97. package/dist/credentials/LimeCrmApi.credentials.js +0 -66
  98. package/dist/credentials/LimeCrmApi.credentials.js.map +0 -1
  99. package/dist/nodes/fortnox/Fortnox.node.d.ts +0 -5
  100. package/dist/nodes/fortnox/Fortnox.node.js +0 -95
  101. package/dist/nodes/fortnox/Fortnox.node.js.map +0 -1
  102. package/dist/nodes/fortnox/Fortnox.node.json +0 -18
  103. package/dist/nodes/fortnox/FortnoxTrigger.node.d.ts +0 -5
  104. package/dist/nodes/fortnox/FortnoxTrigger.node.js +0 -155
  105. package/dist/nodes/fortnox/FortnoxTrigger.node.js.map +0 -1
  106. package/dist/nodes/fortnox/FortnoxTrigger.node.json +0 -18
  107. package/dist/nodes/fortnox/commons.d.ts +0 -25
  108. package/dist/nodes/fortnox/commons.js +0 -44
  109. package/dist/nodes/fortnox/commons.js.map +0 -1
  110. package/dist/nodes/fortnox/fortnoxLogo.svg +0 -15
  111. package/dist/nodes/fortnox/model.d.ts +0 -20
  112. package/dist/nodes/fortnox/model.js +0 -3
  113. package/dist/nodes/fortnox/model.js.map +0 -1
  114. package/dist/nodes/fortnox/resources/customers/filterParameters.d.ts +0 -2
  115. package/dist/nodes/fortnox/resources/customers/filterParameters.js +0 -31
  116. package/dist/nodes/fortnox/resources/customers/filterParameters.js.map +0 -1
  117. package/dist/nodes/fortnox/resources/customers/index.d.ts +0 -20
  118. package/dist/nodes/fortnox/resources/customers/index.js +0 -87
  119. package/dist/nodes/fortnox/resources/customers/index.js.map +0 -1
  120. package/dist/nodes/fortnox/resources/customers/model.d.ts +0 -99
  121. package/dist/nodes/fortnox/resources/customers/model.js +0 -3
  122. package/dist/nodes/fortnox/resources/customers/model.js.map +0 -1
  123. package/dist/nodes/fortnox/resources/customers/operations/create.operation.d.ts +0 -12
  124. package/dist/nodes/fortnox/resources/customers/operations/create.operation.js +0 -283
  125. package/dist/nodes/fortnox/resources/customers/operations/create.operation.js.map +0 -1
  126. package/dist/nodes/fortnox/resources/customers/operations/delete.operation.d.ts +0 -10
  127. package/dist/nodes/fortnox/resources/customers/operations/delete.operation.js +0 -45
  128. package/dist/nodes/fortnox/resources/customers/operations/delete.operation.js.map +0 -1
  129. package/dist/nodes/fortnox/resources/customers/operations/get.operation.d.ts +0 -11
  130. package/dist/nodes/fortnox/resources/customers/operations/get.operation.js +0 -45
  131. package/dist/nodes/fortnox/resources/customers/operations/get.operation.js.map +0 -1
  132. package/dist/nodes/fortnox/resources/customers/operations/getAll.operation.d.ts +0 -11
  133. package/dist/nodes/fortnox/resources/customers/operations/getAll.operation.js +0 -68
  134. package/dist/nodes/fortnox/resources/customers/operations/getAll.operation.js.map +0 -1
  135. package/dist/nodes/fortnox/resources/customers/operations/update.operation.d.ts +0 -12
  136. package/dist/nodes/fortnox/resources/customers/operations/update.operation.js +0 -276
  137. package/dist/nodes/fortnox/resources/customers/operations/update.operation.js.map +0 -1
  138. package/dist/nodes/fortnox/resources/customers/sortParameters.d.ts +0 -2
  139. package/dist/nodes/fortnox/resources/customers/sortParameters.js +0 -30
  140. package/dist/nodes/fortnox/resources/customers/sortParameters.js.map +0 -1
  141. package/dist/nodes/fortnox/resources/invoice/filterParameters.d.ts +0 -2
  142. package/dist/nodes/fortnox/resources/invoice/filterParameters.js +0 -72
  143. package/dist/nodes/fortnox/resources/invoice/filterParameters.js.map +0 -1
  144. package/dist/nodes/fortnox/resources/invoice/index.d.ts +0 -20
  145. package/dist/nodes/fortnox/resources/invoice/index.js +0 -81
  146. package/dist/nodes/fortnox/resources/invoice/index.js.map +0 -1
  147. package/dist/nodes/fortnox/resources/invoice/invoiceParameters.d.ts +0 -2
  148. package/dist/nodes/fortnox/resources/invoice/invoiceParameters.js +0 -193
  149. package/dist/nodes/fortnox/resources/invoice/invoiceParameters.js.map +0 -1
  150. package/dist/nodes/fortnox/resources/invoice/model.d.ts +0 -150
  151. package/dist/nodes/fortnox/resources/invoice/model.js +0 -3
  152. package/dist/nodes/fortnox/resources/invoice/model.js.map +0 -1
  153. package/dist/nodes/fortnox/resources/invoice/operations/create.operation.d.ts +0 -11
  154. package/dist/nodes/fortnox/resources/invoice/operations/create.operation.js +0 -64
  155. package/dist/nodes/fortnox/resources/invoice/operations/create.operation.js.map +0 -1
  156. package/dist/nodes/fortnox/resources/invoice/operations/get.operation.d.ts +0 -11
  157. package/dist/nodes/fortnox/resources/invoice/operations/get.operation.js +0 -44
  158. package/dist/nodes/fortnox/resources/invoice/operations/get.operation.js.map +0 -1
  159. package/dist/nodes/fortnox/resources/invoice/operations/getAll.operation.d.ts +0 -11
  160. package/dist/nodes/fortnox/resources/invoice/operations/getAll.operation.js +0 -92
  161. package/dist/nodes/fortnox/resources/invoice/operations/getAll.operation.js.map +0 -1
  162. package/dist/nodes/fortnox/resources/invoice/operations/update.operation.d.ts +0 -11
  163. package/dist/nodes/fortnox/resources/invoice/operations/update.operation.js +0 -71
  164. package/dist/nodes/fortnox/resources/invoice/operations/update.operation.js.map +0 -1
  165. package/dist/nodes/fortnox/transport/errorCodes.d.ts +0 -1
  166. package/dist/nodes/fortnox/transport/errorCodes.js +0 -50
  167. package/dist/nodes/fortnox/transport/errorCodes.js.map +0 -1
  168. package/dist/nodes/fortnox/transport/index.d.ts +0 -4
  169. package/dist/nodes/fortnox/transport/index.js +0 -77
  170. package/dist/nodes/fortnox/transport/index.js.map +0 -1
  171. package/dist/nodes/lime-crm/LimeCrm.node.json +0 -18
  172. package/dist/nodes/lime-crm/LimeCrmNode.node.d.ts +0 -14
  173. package/dist/nodes/lime-crm/LimeCrmNode.node.js +0 -126
  174. package/dist/nodes/lime-crm/LimeCrmNode.node.js.map +0 -1
  175. package/dist/nodes/lime-crm/LimeCrmTrigger.node.d.ts +0 -18
  176. package/dist/nodes/lime-crm/LimeCrmTrigger.node.js +0 -215
  177. package/dist/nodes/lime-crm/LimeCrmTrigger.node.js.map +0 -1
  178. package/dist/nodes/lime-crm/assets/lime-crm.svg +0 -1
  179. package/dist/nodes/lime-crm/commons/constants.d.ts +0 -5
  180. package/dist/nodes/lime-crm/commons/constants.js +0 -9
  181. package/dist/nodes/lime-crm/commons/constants.js.map +0 -1
  182. package/dist/nodes/lime-crm/commons/hmac.d.ts +0 -1
  183. package/dist/nodes/lime-crm/commons/hmac.js +0 -11
  184. package/dist/nodes/lime-crm/commons/hmac.js.map +0 -1
  185. package/dist/nodes/lime-crm/commons/index.d.ts +0 -3
  186. package/dist/nodes/lime-crm/commons/index.js +0 -12
  187. package/dist/nodes/lime-crm/commons/index.js.map +0 -1
  188. package/dist/nodes/lime-crm/commons/limetype.d.ts +0 -10
  189. package/dist/nodes/lime-crm/commons/limetype.js +0 -3
  190. package/dist/nodes/lime-crm/commons/limetype.js.map +0 -1
  191. package/dist/nodes/lime-crm/commons/task.d.ts +0 -14
  192. package/dist/nodes/lime-crm/commons/task.js +0 -48
  193. package/dist/nodes/lime-crm/commons/task.js.map +0 -1
  194. package/dist/nodes/lime-crm/commons/webhook.d.ts +0 -20
  195. package/dist/nodes/lime-crm/commons/webhook.js +0 -30
  196. package/dist/nodes/lime-crm/commons/webhook.js.map +0 -1
  197. package/dist/nodes/lime-crm/methods/getEntitiesForErpSystem.d.ts +0 -5
  198. package/dist/nodes/lime-crm/methods/getEntitiesForErpSystem.js +0 -11
  199. package/dist/nodes/lime-crm/methods/getEntitiesForErpSystem.js.map +0 -1
  200. package/dist/nodes/lime-crm/methods/getLimeTypeProperties.d.ts +0 -2
  201. package/dist/nodes/lime-crm/methods/getLimeTypeProperties.js +0 -20
  202. package/dist/nodes/lime-crm/methods/getLimeTypeProperties.js.map +0 -1
  203. package/dist/nodes/lime-crm/methods/getLimeTypes.d.ts +0 -2
  204. package/dist/nodes/lime-crm/methods/getLimeTypes.js +0 -20
  205. package/dist/nodes/lime-crm/methods/getLimeTypes.js.map +0 -1
  206. package/dist/nodes/lime-crm/methods/index.d.ts +0 -3
  207. package/dist/nodes/lime-crm/methods/index.js +0 -10
  208. package/dist/nodes/lime-crm/methods/index.js.map +0 -1
  209. package/dist/nodes/lime-crm/resources/erpConnector/index.d.ts +0 -23
  210. package/dist/nodes/lime-crm/resources/erpConnector/index.js +0 -67
  211. package/dist/nodes/lime-crm/resources/erpConnector/index.js.map +0 -1
  212. package/dist/nodes/lime-crm/resources/erpConnector/operations/createOrUpdateObjects.operation.d.ts +0 -26
  213. package/dist/nodes/lime-crm/resources/erpConnector/operations/createOrUpdateObjects.operation.js +0 -65
  214. package/dist/nodes/lime-crm/resources/erpConnector/operations/createOrUpdateObjects.operation.js.map +0 -1
  215. package/dist/nodes/lime-crm/resources/erpConnector/operations/transform.operation.d.ts +0 -9
  216. package/dist/nodes/lime-crm/resources/erpConnector/operations/transform.operation.js +0 -220
  217. package/dist/nodes/lime-crm/resources/erpConnector/operations/transform.operation.js.map +0 -1
  218. package/dist/nodes/lime-crm/resources/erpConnector/transform.d.ts +0 -15
  219. package/dist/nodes/lime-crm/resources/erpConnector/transform.js +0 -11
  220. package/dist/nodes/lime-crm/resources/erpConnector/transform.js.map +0 -1
  221. package/dist/nodes/lime-crm/resources/erpConnector/transformers/baseTransformer.d.ts +0 -4
  222. package/dist/nodes/lime-crm/resources/erpConnector/transformers/baseTransformer.js +0 -7
  223. package/dist/nodes/lime-crm/resources/erpConnector/transformers/baseTransformer.js.map +0 -1
  224. package/dist/nodes/lime-crm/resources/erpConnector/transformers/fortnox.d.ts +0 -37
  225. package/dist/nodes/lime-crm/resources/erpConnector/transformers/fortnox.js +0 -124
  226. package/dist/nodes/lime-crm/resources/erpConnector/transformers/fortnox.js.map +0 -1
  227. package/dist/nodes/lime-crm/resources/erpConnector/transformers/index.d.ts +0 -1
  228. package/dist/nodes/lime-crm/resources/erpConnector/transformers/index.js +0 -6
  229. package/dist/nodes/lime-crm/resources/erpConnector/transformers/index.js.map +0 -1
  230. package/dist/nodes/lime-crm/resources/limeObject/index.d.ts +0 -14
  231. package/dist/nodes/lime-crm/resources/limeObject/index.js +0 -88
  232. package/dist/nodes/lime-crm/resources/limeObject/index.js.map +0 -1
  233. package/dist/nodes/lime-crm/resources/limeObject/operations/create.operation.d.ts +0 -9
  234. package/dist/nodes/lime-crm/resources/limeObject/operations/create.operation.js +0 -139
  235. package/dist/nodes/lime-crm/resources/limeObject/operations/create.operation.js.map +0 -1
  236. package/dist/nodes/lime-crm/resources/limeObject/operations/delete.operation.d.ts +0 -9
  237. package/dist/nodes/lime-crm/resources/limeObject/operations/delete.operation.js +0 -51
  238. package/dist/nodes/lime-crm/resources/limeObject/operations/delete.operation.js.map +0 -1
  239. package/dist/nodes/lime-crm/resources/limeObject/operations/fetchMany.operation.d.ts +0 -9
  240. package/dist/nodes/lime-crm/resources/limeObject/operations/fetchMany.operation.js +0 -103
  241. package/dist/nodes/lime-crm/resources/limeObject/operations/fetchMany.operation.js.map +0 -1
  242. package/dist/nodes/lime-crm/resources/limeObject/operations/get.operation.d.ts +0 -9
  243. package/dist/nodes/lime-crm/resources/limeObject/operations/get.operation.js +0 -51
  244. package/dist/nodes/lime-crm/resources/limeObject/operations/get.operation.js.map +0 -1
  245. package/dist/nodes/lime-crm/resources/limeObject/operations/search.operation.d.ts +0 -9
  246. package/dist/nodes/lime-crm/resources/limeObject/operations/search.operation.js +0 -103
  247. package/dist/nodes/lime-crm/resources/limeObject/operations/search.operation.js.map +0 -1
  248. package/dist/nodes/lime-crm/resources/limeObject/operations/update.operation.d.ts +0 -9
  249. package/dist/nodes/lime-crm/resources/limeObject/operations/update.operation.js +0 -149
  250. package/dist/nodes/lime-crm/resources/limeObject/operations/update.operation.js.map +0 -1
  251. package/dist/nodes/lime-crm/resources/limeQuery/index.d.ts +0 -6
  252. package/dist/nodes/lime-crm/resources/limeQuery/index.js +0 -66
  253. package/dist/nodes/lime-crm/resources/limeQuery/index.js.map +0 -1
  254. package/dist/nodes/lime-crm/resources/limeQuery/operations/query.operation.d.ts +0 -9
  255. package/dist/nodes/lime-crm/resources/limeQuery/operations/query.operation.js +0 -191
  256. package/dist/nodes/lime-crm/resources/limeQuery/operations/query.operation.js.map +0 -1
  257. package/dist/nodes/lime-crm/resources/limeType/index.d.ts +0 -20
  258. package/dist/nodes/lime-crm/resources/limeType/index.js +0 -81
  259. package/dist/nodes/lime-crm/resources/limeType/index.js.map +0 -1
  260. package/dist/nodes/lime-crm/resources/limeType/operations/getProperties.operation.d.ts +0 -11
  261. package/dist/nodes/lime-crm/resources/limeType/operations/getProperties.operation.js +0 -36
  262. package/dist/nodes/lime-crm/resources/limeType/operations/getProperties.operation.js.map +0 -1
  263. package/dist/nodes/lime-crm/resources/limeType/operations/getType.operation.d.ts +0 -9
  264. package/dist/nodes/lime-crm/resources/limeType/operations/getType.operation.js +0 -36
  265. package/dist/nodes/lime-crm/resources/limeType/operations/getType.operation.js.map +0 -1
  266. package/dist/nodes/lime-crm/resources/limeType/operations/listTypes.operation.d.ts +0 -10
  267. package/dist/nodes/lime-crm/resources/limeType/operations/listTypes.operation.js +0 -15
  268. package/dist/nodes/lime-crm/resources/limeType/operations/listTypes.operation.js.map +0 -1
  269. package/dist/nodes/lime-crm/transport/commons.d.ts +0 -5
  270. package/dist/nodes/lime-crm/transport/commons.js +0 -33
  271. package/dist/nodes/lime-crm/transport/commons.js.map +0 -1
  272. package/dist/nodes/lime-crm/transport/erpConnector.d.ts +0 -9
  273. package/dist/nodes/lime-crm/transport/erpConnector.js +0 -11
  274. package/dist/nodes/lime-crm/transport/erpConnector.js.map +0 -1
  275. package/dist/nodes/lime-crm/transport/index.d.ts +0 -6
  276. package/dist/nodes/lime-crm/transport/index.js +0 -24
  277. package/dist/nodes/lime-crm/transport/index.js.map +0 -1
  278. package/dist/nodes/lime-crm/transport/limeQuery.d.ts +0 -10
  279. package/dist/nodes/lime-crm/transport/limeQuery.js +0 -15
  280. package/dist/nodes/lime-crm/transport/limeQuery.js.map +0 -1
  281. package/dist/nodes/lime-crm/transport/limeobjects.d.ts +0 -7
  282. package/dist/nodes/lime-crm/transport/limeobjects.js +0 -134
  283. package/dist/nodes/lime-crm/transport/limeobjects.js.map +0 -1
  284. package/dist/nodes/lime-crm/transport/limetypes.d.ts +0 -6
  285. package/dist/nodes/lime-crm/transport/limetypes.js +0 -54
  286. package/dist/nodes/lime-crm/transport/limetypes.js.map +0 -1
  287. package/dist/nodes/lime-crm/transport/task.d.ts +0 -13
  288. package/dist/nodes/lime-crm/transport/task.js +0 -13
  289. package/dist/nodes/lime-crm/transport/task.js.map +0 -1
  290. package/dist/nodes/lime-crm/transport/webhooks.d.ts +0 -16
  291. package/dist/nodes/lime-crm/transport/webhooks.js +0 -43
  292. package/dist/nodes/lime-crm/transport/webhooks.js.map +0 -1
  293. package/dist/nodes/nodeResponse.d.ts +0 -12
  294. package/dist/nodes/nodeResponse.js +0 -3
  295. package/dist/nodes/nodeResponse.js.map +0 -1
  296. package/dist/package.json +0 -75
  297. package/dist/tsconfig.tsbuildinfo +0 -1
  298. package/docker-compose.yml +0 -46
  299. package/nodes/lime-crm/commons/constants.ts +0 -10
  300. package/nodes/lime-crm/commons/hmac.ts +0 -13
  301. package/nodes/lime-crm/commons/index.ts +0 -10
  302. package/nodes/lime-crm/commons/limetype.ts +0 -11
  303. package/nodes/lime-crm/commons/task.ts +0 -55
  304. package/nodes/lime-crm/commons/webhook.ts +0 -56
  305. package/nodes/lime-crm/methods/getEntitiesForErpSystem.ts +0 -11
  306. package/nodes/lime-crm/methods/getLimeTypeProperties.ts +0 -27
  307. package/nodes/lime-crm/methods/getLimeTypes.ts +0 -23
  308. package/nodes/lime-crm/resources/erpConnector/index.ts +0 -43
  309. package/nodes/lime-crm/resources/erpConnector/operations/createOrUpdateObjects.operation.ts +0 -69
  310. package/nodes/lime-crm/resources/erpConnector/operations/transform.operation.ts +0 -274
  311. package/nodes/lime-crm/resources/erpConnector/transform.ts +0 -49
  312. package/nodes/lime-crm/resources/erpConnector/transformers/baseTransformer.ts +0 -18
  313. package/nodes/lime-crm/resources/erpConnector/transformers/fortnox.ts +0 -201
  314. package/nodes/lime-crm/resources/erpConnector/transformers/index.ts +0 -1
  315. package/nodes/lime-crm/resources/limeObject/index.ts +0 -64
  316. package/nodes/lime-crm/resources/limeObject/operations/create.operation.ts +0 -152
  317. package/nodes/lime-crm/resources/limeObject/operations/delete.operation.ts +0 -55
  318. package/nodes/lime-crm/resources/limeObject/operations/fetchMany.operation.ts +0 -112
  319. package/nodes/lime-crm/resources/limeObject/operations/get.operation.ts +0 -54
  320. package/nodes/lime-crm/resources/limeQuery/index.ts +0 -40
  321. package/nodes/lime-crm/resources/limeQuery/operations/query.operation.ts +0 -222
  322. package/nodes/lime-crm/resources/limeType/index.ts +0 -58
  323. package/nodes/lime-crm/resources/limeType/operations/getProperties.operation.ts +0 -42
  324. package/nodes/lime-crm/resources/limeType/operations/getType.operation.ts +0 -36
  325. package/nodes/lime-crm/resources/limeType/operations/listTypes.operation.ts +0 -18
  326. package/nodes/lime-crm/transport/erpConnector.ts +0 -21
  327. package/nodes/lime-crm/transport/task.ts +0 -32
  328. package/nodes/nodeResponse.ts +0 -13
  329. package/tests/fixtures/fortnox.ts +0 -182
  330. package/tests/transform.spec.ts +0 -187
@@ -1,9 +1,46 @@
1
- import { LIME_CRM_API_CREDENTIAL_KEY } from '../commons';
2
- import { IAllExecuteFunctions } from 'n8n-workflow';
3
- import { NodeResponse } from '../../nodeResponse';
1
+ import { LIME_CRM_API_CREDENTIAL_KEY } from '../models';
2
+ import { IAllExecuteFunctions, NodeOperationError } from 'n8n-workflow';
4
3
 
5
- type HTTPMethod = 'GET' | 'POST' | 'PUT' | 'DELETE';
4
+ /**
5
+ * HTTP methods supported by the Lime CRM API.
6
+ *
7
+ * @group Transport
8
+ * @public
9
+ */
10
+ export type HTTPMethod = 'GET' | 'POST' | 'PUT' | 'DELETE';
6
11
 
12
+ /**
13
+ * Return a copy of the given object with specified keys removed.
14
+ *
15
+ * @param data - The source object
16
+ * @param keys - An array of keys to remove from the object
17
+ *
18
+ * @returns A new object with the specified keys omitted
19
+ *
20
+ * @public
21
+ * @group Transport
22
+ */
23
+ export function removeKeys<T extends object, K extends keyof T>(
24
+ data: T,
25
+ keys: K[]
26
+ ): Omit<T, K> {
27
+ const { ...obj } = data;
28
+ for (const key of keys) {
29
+ delete obj[key];
30
+ }
31
+ return obj;
32
+ }
33
+
34
+ /**
35
+ * Retrieve the base URL for the Lime CRM API from stored credentials.
36
+ *
37
+ * @param context - The n8n execution context
38
+ *
39
+ * @returns The Lime CRM API base URL as a string
40
+ *
41
+ * @internal
42
+ * @group Transport
43
+ */
7
44
  async function getLimeUrl(context: IAllExecuteFunctions): Promise<string> {
8
45
  const credentials = await context.getCredentials(
9
46
  LIME_CRM_API_CREDENTIAL_KEY
@@ -11,35 +48,68 @@ async function getLimeUrl(context: IAllExecuteFunctions): Promise<string> {
11
48
  return credentials.url as string;
12
49
  }
13
50
 
51
+ /**
52
+ * CallLimeAPI arguments wrapped in a single interface to enable keyword-style
53
+ * arguments.
54
+ *
55
+ * @property method - The HTTP method to use (GET, POST, etc.)
56
+ * @property url - The API endpoint URL (relative path)
57
+ * @property requestOptions - Optional additional request options (headers, body, query, etc.)
58
+ * @property json - Whether to parse the response as JSON.
59
+ * @property errorMetadata - Additional information we want to pass to message in case of error
60
+ *
61
+ * @public
62
+ * @group Transport
63
+ */
64
+
65
+ interface LimeAPIArguments {
66
+ method: HTTPMethod;
67
+ url: string;
68
+ requestOptions?: Record<string, unknown>;
69
+ json?: boolean;
70
+ errorMetadata?: Record<string, unknown>;
71
+ }
72
+
73
+ /**
74
+ * Make an authenticated HTTP request to the Lime CRM API and returns a structured response.
75
+ *
76
+ * @typeParam T - The expected type of the API response data
77
+ * @param nodeContext - The n8n execution context
78
+ * @param options - {@link LimeAPIArguments} object
79
+ *
80
+ * @returns API data or response details
81
+ *
82
+ * @public
83
+ * @group Transport
84
+ */
14
85
  export async function callLimeApi<T>(
15
86
  nodeContext: IAllExecuteFunctions,
16
- method: HTTPMethod,
17
- url: string,
18
- options?: Record<string, unknown>
19
- ): Promise<NodeResponse<T>> {
87
+ options: LimeAPIArguments
88
+ ): Promise<T> {
20
89
  try {
21
- const response: T =
22
- await nodeContext.helpers.requestWithAuthentication.call(
23
- nodeContext,
24
- LIME_CRM_API_CREDENTIAL_KEY,
25
- {
26
- method: method,
27
- url: url,
28
- json: true,
29
- baseURL: await getLimeUrl(nodeContext),
30
- ...options,
31
- }
32
- );
33
- return {
34
- success: true,
35
- data: response,
36
- };
90
+ return await nodeContext.helpers.requestWithAuthentication.call(
91
+ nodeContext,
92
+ LIME_CRM_API_CREDENTIAL_KEY,
93
+ {
94
+ method: options.method,
95
+ url: options.url,
96
+ json: options.json || true,
97
+ baseURL: await getLimeUrl(nodeContext),
98
+ ...options.requestOptions,
99
+ }
100
+ );
37
101
  } catch (error) {
38
- return {
39
- success: false,
102
+ const errorContext = {
40
103
  error: error instanceof Error ? error.message : String(error),
41
104
  status: error?.cause?.status,
42
- metadata: options,
105
+ metadata: {
106
+ ...options.requestOptions,
107
+ ...options.errorMetadata,
108
+ },
43
109
  };
110
+ throw new NodeOperationError(
111
+ nodeContext.getNode(),
112
+ JSON.stringify(errorContext)
113
+ );
44
114
  }
45
115
  }
@@ -0,0 +1,220 @@
1
+ import { callLimeApi, getLimeobject } from '.';
2
+ import {
3
+ IExecuteFunctions,
4
+ IBinaryData,
5
+ BINARY_ENCODING,
6
+ NodeOperationError,
7
+ } from 'n8n-workflow';
8
+ import { removeKeys } from './commons';
9
+ import { getFilenameFromHeader, setFilename } from '../utils';
10
+
11
+ /**
12
+ * Endpoint path for Lime CRM file API.
13
+ *
14
+ * @internal
15
+ * @group Transport
16
+ */
17
+ const LIME_FILE_URL = '/api/v1/file/';
18
+
19
+ /**
20
+ * Response from Lime file API containing HTTP headers and raw file body.
21
+ *
22
+ * @property headers - HTTP headers returned by the API
23
+ * @property body - Raw file body as a Buffer
24
+ *
25
+ * @public
26
+ * @group Transport
27
+ */
28
+ export interface FileApiResponse {
29
+ headers: Record<string, string | string[] | undefined>;
30
+ body: Buffer;
31
+ }
32
+
33
+ /**
34
+ * Metadata about a file stored in Lime CRM.
35
+ *
36
+ * @property filename - Name of the file
37
+ * @property id - File ID in Lime CRM
38
+ * @property size - File size in bytes
39
+ * @property content_type - MIME type of the file
40
+ * @property extension - File extension
41
+ * @property created_by - ID of the user who created the file
42
+ * @property locked_by - ID of the user who locked the file
43
+ * @property last_modified - Last modified timestamp
44
+ * @property _links - Optional links returned by Lime API
45
+ *
46
+ * @public
47
+ * @group Transport
48
+ */
49
+ export type FileMetadata = {
50
+ filename: string;
51
+ id: number;
52
+ size: number;
53
+ content_type: string;
54
+ extension: string;
55
+ created_by: number;
56
+ locked_by: number;
57
+ last_modified: string;
58
+ _links?: { [key: string]: { href: string } };
59
+ };
60
+
61
+ /**
62
+ * Retrieve metadata for a file by its ID.
63
+ *
64
+ * @param nodeContext - n8n execution context
65
+ * @param id - The ID of the file
66
+ * @returns File metadata
67
+ *
68
+ * @public
69
+ * @group Transport
70
+ */
71
+ export async function getFileMetadata(
72
+ nodeContext: IExecuteFunctions,
73
+ id: string | number
74
+ ): Promise<FileMetadata> {
75
+ const url = `${LIME_FILE_URL}${id}/`;
76
+ const fileMetadata = await callLimeApi<FileMetadata>(nodeContext, {
77
+ method: 'GET',
78
+ url: url,
79
+ });
80
+ return removeKeys(fileMetadata, ['_links']);
81
+ }
82
+
83
+ /**
84
+ * Retrieve file metadata for a specific property of a Lime object.
85
+ *
86
+ * @param nodeContext - n8n execution context
87
+ * @param limetype - Name of the Limetype
88
+ * @param id - The Lime object ID
89
+ * @param fileTypeProperty - The property name holding the file reference
90
+ * @returns File metadata
91
+ *
92
+ * @public
93
+ * @group Transport
94
+ */
95
+ export async function getFileMetadataByLimeobject(
96
+ nodeContext: IExecuteFunctions,
97
+ limetype: string,
98
+ id: string,
99
+ fileTypeProperty: string
100
+ ): Promise<FileMetadata> {
101
+ const objectResponse = await getLimeobject(nodeContext, limetype, id);
102
+ const fileId = objectResponse[fileTypeProperty] as string | undefined;
103
+
104
+ if (!fileId) {
105
+ throw new NodeOperationError(
106
+ nodeContext.getNode(),
107
+ 'The specified Limeobject does not have an associated file.'
108
+ );
109
+ }
110
+
111
+ const fileMetadata = await getFileMetadata(nodeContext, fileId);
112
+ return removeKeys(fileMetadata, ['_links']);
113
+ }
114
+
115
+ /**
116
+ * Download file content by file ID and prepare binary data for n8n nodes.
117
+ *
118
+ * @param nodeContext - n8n execution context
119
+ * @param id - The ID of the file
120
+ * @returns prepared binary data
121
+ *
122
+ * @public
123
+ * @group Transport
124
+ */
125
+ export async function getFileContent(
126
+ nodeContext: IExecuteFunctions,
127
+ id: string | number
128
+ ): Promise<IBinaryData> {
129
+ const url = `${LIME_FILE_URL}${id}/contents/`;
130
+
131
+ const response = await callLimeApi<FileApiResponse>(nodeContext, {
132
+ method: 'GET',
133
+ url: url,
134
+ requestOptions: {
135
+ encoding: null,
136
+ responseType: 'stream',
137
+ resolveWithFullResponse: true,
138
+ },
139
+ json: false,
140
+ });
141
+
142
+ const fileName = getFilenameFromHeader(response.headers) || `file_${id}`;
143
+ const binaryData = await nodeContext.helpers.prepareBinaryData(
144
+ response.body
145
+ );
146
+ binaryData.fileName = setFilename(binaryData, fileName);
147
+
148
+ return binaryData;
149
+ }
150
+
151
+ /**
152
+ * Download file content for a specific property of a Lime object.
153
+ *
154
+ * @param nodeContext - n8n execution context
155
+ * @param limetype - Name of the Limetype
156
+ * @param id - The Lime object ID
157
+ * @param fileTypeProperty - The property name holding the file reference
158
+ * @returns Prepared binary data
159
+ *
160
+ * @public
161
+ * @group Transport
162
+ */
163
+ export async function getFileContentByLimetype(
164
+ nodeContext: IExecuteFunctions,
165
+ limetype: string,
166
+ id: string,
167
+ fileTypeProperty: string
168
+ ): Promise<IBinaryData> {
169
+ const limeObjectResponse = await getLimeobject(nodeContext, limetype, id);
170
+ const fileId = limeObjectResponse[fileTypeProperty] as string | undefined;
171
+
172
+ if (!fileId) {
173
+ throw new NodeOperationError(
174
+ nodeContext.getNode(),
175
+ 'The specified Limeobject does not have an associated file.'
176
+ );
177
+ }
178
+
179
+ return await getFileContent(nodeContext, fileId);
180
+ }
181
+
182
+ /**
183
+ * Create a file in Lime CRM using binary data.
184
+ *
185
+ * @param nodeContext - n8n execution context
186
+ * @param binary - The binary data to upload
187
+ * @param fallbackFileName - File name to use if `binary.fileName` is missing
188
+ * @returns Created file metadata
189
+ *
190
+ * @public
191
+ * @group Transport
192
+ */
193
+ export async function createFile(
194
+ nodeContext: IExecuteFunctions,
195
+ binary: IBinaryData,
196
+ fallbackFileName: string
197
+ ): Promise<FileMetadata> {
198
+ let response: FileMetadata;
199
+ try {
200
+ response = await callLimeApi<FileMetadata>(nodeContext, {
201
+ method: 'POST',
202
+ url: LIME_FILE_URL,
203
+ requestOptions: {
204
+ body: Buffer.from(binary.data, BINARY_ENCODING),
205
+ headers: {
206
+ 'Content-Disposition': `;filename*="UTF-8''${encodeURIComponent(binary.fileName || fallbackFileName)}"`,
207
+ 'Content-Type': binary.mimeType,
208
+ },
209
+ },
210
+ });
211
+ } catch (error) {
212
+ // Remove metadata from the response to reduce its overall size
213
+ throw new NodeOperationError(
214
+ nodeContext.getNode(),
215
+ JSON.parse(error).error
216
+ );
217
+ }
218
+
219
+ return removeKeys(response, ['_links']);
220
+ }
@@ -1,18 +1,43 @@
1
+ export { HTTPMethod, callLimeApi, removeKeys } from './commons';
1
2
  export {
2
- getSubscription,
3
- deleteSubscription,
3
+ FileApiResponse,
4
+ FileMetadata,
5
+ createFile,
6
+ getFileContent,
7
+ getFileContentByLimetype,
8
+ getFileMetadata,
9
+ getFileMetadataByLimeobject,
10
+ } from './files';
11
+ export {
12
+ FetchManyLimeobjectsApiResponse,
13
+ LimeobjectCrmApiResponse,
14
+ createLimeobject,
15
+ deleteLimeobject,
16
+ updateLimeobject,
17
+ getLimeobject,
18
+ } from './limeobjects';
19
+ export {
20
+ IncludedProperties,
21
+ QueryResponse,
22
+ queryLimeobjects,
23
+ } from './limeQuery';
24
+ export {
25
+ LimetypeCrmApiResponse,
26
+ LimetypePropertiesApiResponse,
27
+ LimetypePropertyApiResponse,
28
+ LimetypesCrmApiResponse,
29
+ getLimetypesFromApi,
30
+ getProperties,
31
+ } from './limetypes';
32
+ export {
33
+ ApiResponseWebhook,
4
34
  createSubscription,
35
+ deleteSubscription,
36
+ getSubscription,
5
37
  listSubscriptionsWithExistingData,
6
38
  } from './webhooks';
7
- export { getLimeTypesFromApi, getProperties } from './limetypes';
8
-
9
39
  export {
10
- createLimeObject,
11
- deleteLimeObject,
12
- updateLimeObject,
13
- getLimeObject,
14
- fetchManyLimeObjects,
15
- } from './limeobjects';
16
- export { startCreateOrUpdateObjectsTask } from './erpConnector';
17
- export { queryLimeObjects } from './limeQuery';
18
- export { callLimeApi } from './commons';
40
+ fetchManyUsers,
41
+ fetchSingleUserById,
42
+ fetchSingleUserByLimeobjectId,
43
+ } from './users';
@@ -1,28 +1,62 @@
1
1
  import { IAllExecuteFunctions } from 'n8n-workflow';
2
- import { NodeResponse } from '../../nodeResponse';
3
2
  import { callLimeApi } from './commons';
3
+ import { APIResponsePrimitiveValue } from '../models';
4
4
 
5
+ /**
6
+ * Endpoint path for Lime CRM Lime Query API.
7
+ *
8
+ * @internal
9
+ * @group Transport
10
+ */
5
11
  const LIME_QUERY_URL = '/api/v1/query/';
6
12
 
7
- interface IncludedProperties {
8
- [key: string]: IncludedProperties | string | number | boolean | null;
13
+ /**
14
+ * Structure of included properties returned by a query.
15
+ *
16
+ * The properties can themselves contain nested objects, primitive values, or nulls.
17
+ *
18
+ * @public
19
+ * @group Transport
20
+ */
21
+ export interface IncludedProperties {
22
+ [key: string]: IncludedProperties | APIResponsePrimitiveValue;
9
23
  }
10
24
 
25
+ /**
26
+ * The structure of a Lime CRM query API response.
27
+ *
28
+ * @property objects - An array of returned Limeobjects with their properties represented by a {@link IncludedProperties}
29
+ *
30
+ * @public
31
+ * @group Transport
32
+ */
11
33
  export interface QueryResponse {
12
34
  objects: IncludedProperties[];
13
35
  }
14
36
 
15
- export async function queryLimeObjects(
37
+ /**
38
+ * Execute a Lime CRM query through the API.
39
+ *
40
+ * @param nodeContext - The n8n execution context
41
+ * @param q - The query string to execute
42
+ * @returns Query results
43
+ *
44
+ * @public
45
+ * @group Transport
46
+ */
47
+ export async function queryLimeobjects(
16
48
  nodeContext: IAllExecuteFunctions,
17
- q: string,
18
- activeObject: string
19
- ): Promise<NodeResponse<QueryResponse>> {
49
+ q: string
50
+ ): Promise<QueryResponse> {
20
51
  const queryParameters = {
21
52
  q: q,
22
- activeObject: activeObject,
23
53
  };
24
54
 
25
- return await callLimeApi(nodeContext, 'GET', LIME_QUERY_URL, {
26
- qs: queryParameters,
55
+ return await callLimeApi(nodeContext, {
56
+ method: 'GET',
57
+ url: LIME_QUERY_URL,
58
+ requestOptions: {
59
+ qs: queryParameters,
60
+ },
27
61
  });
28
62
  }