@limetech/n8n-nodes-lime 0.5.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 (303) 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/.releaserc.json +2 -1
  5. package/CHANGELOG.md +122 -0
  6. package/README.md +1 -1
  7. package/credentials/LimeCrmApi.credentials.ts +38 -1
  8. package/credentials/index.ts +2 -0
  9. package/eslint.config.mjs +2 -1
  10. package/knip.json +9 -0
  11. package/nodes/fortnox/index.ts +6 -0
  12. package/nodes/fortnox/resources/customers/index.ts +18 -22
  13. package/nodes/fortnox/resources/customers/operations/create.operation.ts +12 -8
  14. package/nodes/fortnox/resources/customers/operations/delete.operation.ts +10 -15
  15. package/nodes/fortnox/resources/customers/operations/get.operation.ts +10 -15
  16. package/nodes/fortnox/resources/customers/operations/getAll.operation.ts +1 -2
  17. package/nodes/fortnox/resources/customers/operations/index.ts +5 -0
  18. package/nodes/fortnox/resources/customers/operations/update.operation.ts +30 -30
  19. package/nodes/fortnox/resources/invoice/index.ts +16 -18
  20. package/nodes/fortnox/resources/invoice/model.ts +0 -4
  21. package/nodes/fortnox/resources/invoice/operations/create.operation.ts +1 -2
  22. package/nodes/fortnox/resources/invoice/operations/get.operation.ts +10 -15
  23. package/nodes/fortnox/resources/invoice/operations/getAll.operation.ts +1 -2
  24. package/nodes/fortnox/resources/invoice/operations/index.ts +4 -0
  25. package/nodes/fortnox/resources/invoice/operations/update.operation.ts +11 -16
  26. package/nodes/fortnox/transport/index.ts +14 -11
  27. package/nodes/index.ts +4 -0
  28. package/nodes/lime-crm/LimeCrmNode.node.ts +81 -11
  29. package/nodes/lime-crm/LimeCrmTrigger.node.ts +70 -30
  30. package/nodes/lime-crm/index.ts +9 -0
  31. package/nodes/lime-crm/methods/getLimetypeProperties.ts +51 -8
  32. package/nodes/lime-crm/methods/getLimetypes.ts +14 -9
  33. package/nodes/lime-crm/methods/index.ts +1 -1
  34. package/nodes/lime-crm/models/constants.ts +73 -0
  35. package/nodes/lime-crm/models/index.ts +21 -0
  36. package/nodes/lime-crm/models/limeobject.ts +13 -0
  37. package/nodes/lime-crm/models/limetype.ts +47 -0
  38. package/nodes/lime-crm/models/propertyTypes.ts +13 -0
  39. package/nodes/lime-crm/models/users.ts +46 -0
  40. package/nodes/lime-crm/models/webhook.ts +61 -0
  41. package/nodes/lime-crm/resources/admin/index.ts +89 -0
  42. package/nodes/lime-crm/resources/admin/operations/getManyUsers.operation.ts +166 -0
  43. package/nodes/lime-crm/resources/admin/operations/getSingleUser.operation.ts +113 -0
  44. package/nodes/lime-crm/resources/admin/operations/index.ts +8 -0
  45. package/nodes/lime-crm/resources/data/index.ts +68 -31
  46. package/nodes/lime-crm/resources/data/operations/{createSingleObject.ts → createSingleObject.operation.ts} +82 -26
  47. package/nodes/lime-crm/resources/data/operations/{deleteSingleObject.ts → deleteSingleObject.operation.ts} +32 -4
  48. package/nodes/lime-crm/resources/data/operations/{getManyObjects.ts → getManyObjects.operation.ts} +191 -48
  49. package/nodes/lime-crm/resources/data/operations/{getSingleFile.ts → getSingleFile.operation.ts} +36 -12
  50. package/nodes/lime-crm/resources/data/operations/{getSingleObject.ts → getSingleObject.operation.ts} +39 -6
  51. package/nodes/lime-crm/resources/data/operations/index.ts +24 -0
  52. package/nodes/lime-crm/resources/data/operations/updateSingleObject.operation.ts +55 -17
  53. package/nodes/lime-crm/resources/metadata/index.ts +56 -16
  54. package/nodes/lime-crm/resources/metadata/operations/getAllLimetypes.operation.ts +15 -5
  55. package/nodes/lime-crm/resources/metadata/operations/{getSingleFileMetadata.ts → getSingleFileMetadata.operation.ts} +31 -14
  56. package/nodes/lime-crm/resources/metadata/operations/{getSingleLimetype.ts → getSingleLimetype.operation.ts} +23 -1
  57. package/nodes/lime-crm/resources/metadata/operations/index.ts +12 -0
  58. package/nodes/lime-crm/transport/commons.ts +86 -28
  59. package/nodes/lime-crm/transport/files.ts +149 -84
  60. package/nodes/lime-crm/transport/index.ts +35 -17
  61. package/nodes/lime-crm/transport/limeQuery.ts +42 -6
  62. package/nodes/lime-crm/transport/limeobjects.ts +102 -179
  63. package/nodes/lime-crm/transport/limetypes.ts +126 -70
  64. package/nodes/lime-crm/transport/users.ts +264 -0
  65. package/nodes/lime-crm/transport/webhooks.ts +96 -37
  66. package/nodes/lime-crm/{commons → utils}/files.ts +75 -39
  67. package/nodes/lime-crm/utils/hmac.ts +35 -0
  68. package/nodes/lime-crm/utils/index.ts +10 -0
  69. package/nodes/lime-crm/utils/propertyAdapters.ts +75 -0
  70. package/nodes/lime-crm/utils/webhook.ts +81 -0
  71. package/nodes/modules.ts +44 -0
  72. package/nodes/response.ts +16 -0
  73. package/package.json +18 -27
  74. package/tests/nodes/lime-crm/utils.spec.ts +238 -0
  75. package/typedoc.css +9 -0
  76. package/typedoc.json +19 -0
  77. package/.dockerignore +0 -1
  78. package/Dockerfile +0 -21
  79. package/dist/credentials/FortnoxApi.credentials.d.ts +0 -9
  80. package/dist/credentials/FortnoxApi.credentials.js +0 -57
  81. package/dist/credentials/FortnoxApi.credentials.js.map +0 -1
  82. package/dist/credentials/LimeCrmApi.credentials.d.ts +0 -9
  83. package/dist/credentials/LimeCrmApi.credentials.js +0 -66
  84. package/dist/credentials/LimeCrmApi.credentials.js.map +0 -1
  85. package/dist/nodes/fortnox/Fortnox.node.d.ts +0 -5
  86. package/dist/nodes/fortnox/Fortnox.node.js +0 -95
  87. package/dist/nodes/fortnox/Fortnox.node.js.map +0 -1
  88. package/dist/nodes/fortnox/Fortnox.node.json +0 -18
  89. package/dist/nodes/fortnox/FortnoxTrigger.node.d.ts +0 -5
  90. package/dist/nodes/fortnox/FortnoxTrigger.node.js +0 -155
  91. package/dist/nodes/fortnox/FortnoxTrigger.node.js.map +0 -1
  92. package/dist/nodes/fortnox/FortnoxTrigger.node.json +0 -18
  93. package/dist/nodes/fortnox/commons.d.ts +0 -25
  94. package/dist/nodes/fortnox/commons.js +0 -44
  95. package/dist/nodes/fortnox/commons.js.map +0 -1
  96. package/dist/nodes/fortnox/fortnoxLogo.svg +0 -15
  97. package/dist/nodes/fortnox/model.d.ts +0 -20
  98. package/dist/nodes/fortnox/model.js +0 -3
  99. package/dist/nodes/fortnox/model.js.map +0 -1
  100. package/dist/nodes/fortnox/resources/customers/filterParameters.d.ts +0 -2
  101. package/dist/nodes/fortnox/resources/customers/filterParameters.js +0 -31
  102. package/dist/nodes/fortnox/resources/customers/filterParameters.js.map +0 -1
  103. package/dist/nodes/fortnox/resources/customers/index.d.ts +0 -20
  104. package/dist/nodes/fortnox/resources/customers/index.js +0 -87
  105. package/dist/nodes/fortnox/resources/customers/index.js.map +0 -1
  106. package/dist/nodes/fortnox/resources/customers/model.d.ts +0 -99
  107. package/dist/nodes/fortnox/resources/customers/model.js +0 -3
  108. package/dist/nodes/fortnox/resources/customers/model.js.map +0 -1
  109. package/dist/nodes/fortnox/resources/customers/operations/create.operation.d.ts +0 -12
  110. package/dist/nodes/fortnox/resources/customers/operations/create.operation.js +0 -283
  111. package/dist/nodes/fortnox/resources/customers/operations/create.operation.js.map +0 -1
  112. package/dist/nodes/fortnox/resources/customers/operations/delete.operation.d.ts +0 -10
  113. package/dist/nodes/fortnox/resources/customers/operations/delete.operation.js +0 -45
  114. package/dist/nodes/fortnox/resources/customers/operations/delete.operation.js.map +0 -1
  115. package/dist/nodes/fortnox/resources/customers/operations/get.operation.d.ts +0 -11
  116. package/dist/nodes/fortnox/resources/customers/operations/get.operation.js +0 -45
  117. package/dist/nodes/fortnox/resources/customers/operations/get.operation.js.map +0 -1
  118. package/dist/nodes/fortnox/resources/customers/operations/getAll.operation.d.ts +0 -11
  119. package/dist/nodes/fortnox/resources/customers/operations/getAll.operation.js +0 -68
  120. package/dist/nodes/fortnox/resources/customers/operations/getAll.operation.js.map +0 -1
  121. package/dist/nodes/fortnox/resources/customers/operations/update.operation.d.ts +0 -12
  122. package/dist/nodes/fortnox/resources/customers/operations/update.operation.js +0 -276
  123. package/dist/nodes/fortnox/resources/customers/operations/update.operation.js.map +0 -1
  124. package/dist/nodes/fortnox/resources/customers/sortParameters.d.ts +0 -2
  125. package/dist/nodes/fortnox/resources/customers/sortParameters.js +0 -30
  126. package/dist/nodes/fortnox/resources/customers/sortParameters.js.map +0 -1
  127. package/dist/nodes/fortnox/resources/invoice/filterParameters.d.ts +0 -2
  128. package/dist/nodes/fortnox/resources/invoice/filterParameters.js +0 -72
  129. package/dist/nodes/fortnox/resources/invoice/filterParameters.js.map +0 -1
  130. package/dist/nodes/fortnox/resources/invoice/index.d.ts +0 -20
  131. package/dist/nodes/fortnox/resources/invoice/index.js +0 -81
  132. package/dist/nodes/fortnox/resources/invoice/index.js.map +0 -1
  133. package/dist/nodes/fortnox/resources/invoice/invoiceParameters.d.ts +0 -2
  134. package/dist/nodes/fortnox/resources/invoice/invoiceParameters.js +0 -193
  135. package/dist/nodes/fortnox/resources/invoice/invoiceParameters.js.map +0 -1
  136. package/dist/nodes/fortnox/resources/invoice/model.d.ts +0 -150
  137. package/dist/nodes/fortnox/resources/invoice/model.js +0 -3
  138. package/dist/nodes/fortnox/resources/invoice/model.js.map +0 -1
  139. package/dist/nodes/fortnox/resources/invoice/operations/create.operation.d.ts +0 -11
  140. package/dist/nodes/fortnox/resources/invoice/operations/create.operation.js +0 -64
  141. package/dist/nodes/fortnox/resources/invoice/operations/create.operation.js.map +0 -1
  142. package/dist/nodes/fortnox/resources/invoice/operations/get.operation.d.ts +0 -11
  143. package/dist/nodes/fortnox/resources/invoice/operations/get.operation.js +0 -44
  144. package/dist/nodes/fortnox/resources/invoice/operations/get.operation.js.map +0 -1
  145. package/dist/nodes/fortnox/resources/invoice/operations/getAll.operation.d.ts +0 -11
  146. package/dist/nodes/fortnox/resources/invoice/operations/getAll.operation.js +0 -92
  147. package/dist/nodes/fortnox/resources/invoice/operations/getAll.operation.js.map +0 -1
  148. package/dist/nodes/fortnox/resources/invoice/operations/update.operation.d.ts +0 -11
  149. package/dist/nodes/fortnox/resources/invoice/operations/update.operation.js +0 -71
  150. package/dist/nodes/fortnox/resources/invoice/operations/update.operation.js.map +0 -1
  151. package/dist/nodes/fortnox/transport/errorCodes.d.ts +0 -1
  152. package/dist/nodes/fortnox/transport/errorCodes.js +0 -50
  153. package/dist/nodes/fortnox/transport/errorCodes.js.map +0 -1
  154. package/dist/nodes/fortnox/transport/index.d.ts +0 -4
  155. package/dist/nodes/fortnox/transport/index.js +0 -77
  156. package/dist/nodes/fortnox/transport/index.js.map +0 -1
  157. package/dist/nodes/lime-crm/LimeCrm.node.json +0 -18
  158. package/dist/nodes/lime-crm/LimeCrmNode.node.d.ts +0 -14
  159. package/dist/nodes/lime-crm/LimeCrmNode.node.js +0 -126
  160. package/dist/nodes/lime-crm/LimeCrmNode.node.js.map +0 -1
  161. package/dist/nodes/lime-crm/LimeCrmTrigger.node.d.ts +0 -18
  162. package/dist/nodes/lime-crm/LimeCrmTrigger.node.js +0 -215
  163. package/dist/nodes/lime-crm/LimeCrmTrigger.node.js.map +0 -1
  164. package/dist/nodes/lime-crm/assets/lime-crm.svg +0 -1
  165. package/dist/nodes/lime-crm/commons/constants.d.ts +0 -5
  166. package/dist/nodes/lime-crm/commons/constants.js +0 -9
  167. package/dist/nodes/lime-crm/commons/constants.js.map +0 -1
  168. package/dist/nodes/lime-crm/commons/hmac.d.ts +0 -1
  169. package/dist/nodes/lime-crm/commons/hmac.js +0 -11
  170. package/dist/nodes/lime-crm/commons/hmac.js.map +0 -1
  171. package/dist/nodes/lime-crm/commons/index.d.ts +0 -3
  172. package/dist/nodes/lime-crm/commons/index.js +0 -12
  173. package/dist/nodes/lime-crm/commons/index.js.map +0 -1
  174. package/dist/nodes/lime-crm/commons/limetype.d.ts +0 -10
  175. package/dist/nodes/lime-crm/commons/limetype.js +0 -3
  176. package/dist/nodes/lime-crm/commons/limetype.js.map +0 -1
  177. package/dist/nodes/lime-crm/commons/task.d.ts +0 -14
  178. package/dist/nodes/lime-crm/commons/task.js +0 -48
  179. package/dist/nodes/lime-crm/commons/task.js.map +0 -1
  180. package/dist/nodes/lime-crm/commons/webhook.d.ts +0 -20
  181. package/dist/nodes/lime-crm/commons/webhook.js +0 -30
  182. package/dist/nodes/lime-crm/commons/webhook.js.map +0 -1
  183. package/dist/nodes/lime-crm/methods/getEntitiesForErpSystem.d.ts +0 -5
  184. package/dist/nodes/lime-crm/methods/getEntitiesForErpSystem.js +0 -11
  185. package/dist/nodes/lime-crm/methods/getEntitiesForErpSystem.js.map +0 -1
  186. package/dist/nodes/lime-crm/methods/getLimeTypeProperties.d.ts +0 -2
  187. package/dist/nodes/lime-crm/methods/getLimeTypeProperties.js +0 -20
  188. package/dist/nodes/lime-crm/methods/getLimeTypeProperties.js.map +0 -1
  189. package/dist/nodes/lime-crm/methods/getLimeTypes.d.ts +0 -2
  190. package/dist/nodes/lime-crm/methods/getLimeTypes.js +0 -20
  191. package/dist/nodes/lime-crm/methods/getLimeTypes.js.map +0 -1
  192. package/dist/nodes/lime-crm/methods/index.d.ts +0 -3
  193. package/dist/nodes/lime-crm/methods/index.js +0 -10
  194. package/dist/nodes/lime-crm/methods/index.js.map +0 -1
  195. package/dist/nodes/lime-crm/resources/erpConnector/index.d.ts +0 -23
  196. package/dist/nodes/lime-crm/resources/erpConnector/index.js +0 -67
  197. package/dist/nodes/lime-crm/resources/erpConnector/index.js.map +0 -1
  198. package/dist/nodes/lime-crm/resources/erpConnector/operations/createOrUpdateObjects.operation.d.ts +0 -26
  199. package/dist/nodes/lime-crm/resources/erpConnector/operations/createOrUpdateObjects.operation.js +0 -65
  200. package/dist/nodes/lime-crm/resources/erpConnector/operations/createOrUpdateObjects.operation.js.map +0 -1
  201. package/dist/nodes/lime-crm/resources/erpConnector/operations/transform.operation.d.ts +0 -9
  202. package/dist/nodes/lime-crm/resources/erpConnector/operations/transform.operation.js +0 -220
  203. package/dist/nodes/lime-crm/resources/erpConnector/operations/transform.operation.js.map +0 -1
  204. package/dist/nodes/lime-crm/resources/erpConnector/transform.d.ts +0 -15
  205. package/dist/nodes/lime-crm/resources/erpConnector/transform.js +0 -11
  206. package/dist/nodes/lime-crm/resources/erpConnector/transform.js.map +0 -1
  207. package/dist/nodes/lime-crm/resources/erpConnector/transformers/baseTransformer.d.ts +0 -4
  208. package/dist/nodes/lime-crm/resources/erpConnector/transformers/baseTransformer.js +0 -7
  209. package/dist/nodes/lime-crm/resources/erpConnector/transformers/baseTransformer.js.map +0 -1
  210. package/dist/nodes/lime-crm/resources/erpConnector/transformers/fortnox.d.ts +0 -37
  211. package/dist/nodes/lime-crm/resources/erpConnector/transformers/fortnox.js +0 -124
  212. package/dist/nodes/lime-crm/resources/erpConnector/transformers/fortnox.js.map +0 -1
  213. package/dist/nodes/lime-crm/resources/erpConnector/transformers/index.d.ts +0 -1
  214. package/dist/nodes/lime-crm/resources/erpConnector/transformers/index.js +0 -6
  215. package/dist/nodes/lime-crm/resources/erpConnector/transformers/index.js.map +0 -1
  216. package/dist/nodes/lime-crm/resources/limeObject/index.d.ts +0 -14
  217. package/dist/nodes/lime-crm/resources/limeObject/index.js +0 -88
  218. package/dist/nodes/lime-crm/resources/limeObject/index.js.map +0 -1
  219. package/dist/nodes/lime-crm/resources/limeObject/operations/create.operation.d.ts +0 -9
  220. package/dist/nodes/lime-crm/resources/limeObject/operations/create.operation.js +0 -139
  221. package/dist/nodes/lime-crm/resources/limeObject/operations/create.operation.js.map +0 -1
  222. package/dist/nodes/lime-crm/resources/limeObject/operations/delete.operation.d.ts +0 -9
  223. package/dist/nodes/lime-crm/resources/limeObject/operations/delete.operation.js +0 -51
  224. package/dist/nodes/lime-crm/resources/limeObject/operations/delete.operation.js.map +0 -1
  225. package/dist/nodes/lime-crm/resources/limeObject/operations/fetchMany.operation.d.ts +0 -9
  226. package/dist/nodes/lime-crm/resources/limeObject/operations/fetchMany.operation.js +0 -103
  227. package/dist/nodes/lime-crm/resources/limeObject/operations/fetchMany.operation.js.map +0 -1
  228. package/dist/nodes/lime-crm/resources/limeObject/operations/get.operation.d.ts +0 -9
  229. package/dist/nodes/lime-crm/resources/limeObject/operations/get.operation.js +0 -51
  230. package/dist/nodes/lime-crm/resources/limeObject/operations/get.operation.js.map +0 -1
  231. package/dist/nodes/lime-crm/resources/limeObject/operations/search.operation.d.ts +0 -9
  232. package/dist/nodes/lime-crm/resources/limeObject/operations/search.operation.js +0 -103
  233. package/dist/nodes/lime-crm/resources/limeObject/operations/search.operation.js.map +0 -1
  234. package/dist/nodes/lime-crm/resources/limeObject/operations/update.operation.d.ts +0 -9
  235. package/dist/nodes/lime-crm/resources/limeObject/operations/update.operation.js +0 -149
  236. package/dist/nodes/lime-crm/resources/limeObject/operations/update.operation.js.map +0 -1
  237. package/dist/nodes/lime-crm/resources/limeQuery/index.d.ts +0 -6
  238. package/dist/nodes/lime-crm/resources/limeQuery/index.js +0 -66
  239. package/dist/nodes/lime-crm/resources/limeQuery/index.js.map +0 -1
  240. package/dist/nodes/lime-crm/resources/limeQuery/operations/query.operation.d.ts +0 -9
  241. package/dist/nodes/lime-crm/resources/limeQuery/operations/query.operation.js +0 -191
  242. package/dist/nodes/lime-crm/resources/limeQuery/operations/query.operation.js.map +0 -1
  243. package/dist/nodes/lime-crm/resources/limeType/index.d.ts +0 -20
  244. package/dist/nodes/lime-crm/resources/limeType/index.js +0 -81
  245. package/dist/nodes/lime-crm/resources/limeType/index.js.map +0 -1
  246. package/dist/nodes/lime-crm/resources/limeType/operations/getProperties.operation.d.ts +0 -11
  247. package/dist/nodes/lime-crm/resources/limeType/operations/getProperties.operation.js +0 -36
  248. package/dist/nodes/lime-crm/resources/limeType/operations/getProperties.operation.js.map +0 -1
  249. package/dist/nodes/lime-crm/resources/limeType/operations/getType.operation.d.ts +0 -9
  250. package/dist/nodes/lime-crm/resources/limeType/operations/getType.operation.js +0 -36
  251. package/dist/nodes/lime-crm/resources/limeType/operations/getType.operation.js.map +0 -1
  252. package/dist/nodes/lime-crm/resources/limeType/operations/listTypes.operation.d.ts +0 -10
  253. package/dist/nodes/lime-crm/resources/limeType/operations/listTypes.operation.js +0 -15
  254. package/dist/nodes/lime-crm/resources/limeType/operations/listTypes.operation.js.map +0 -1
  255. package/dist/nodes/lime-crm/transport/commons.d.ts +0 -5
  256. package/dist/nodes/lime-crm/transport/commons.js +0 -33
  257. package/dist/nodes/lime-crm/transport/commons.js.map +0 -1
  258. package/dist/nodes/lime-crm/transport/erpConnector.d.ts +0 -9
  259. package/dist/nodes/lime-crm/transport/erpConnector.js +0 -11
  260. package/dist/nodes/lime-crm/transport/erpConnector.js.map +0 -1
  261. package/dist/nodes/lime-crm/transport/index.d.ts +0 -6
  262. package/dist/nodes/lime-crm/transport/index.js +0 -24
  263. package/dist/nodes/lime-crm/transport/index.js.map +0 -1
  264. package/dist/nodes/lime-crm/transport/limeQuery.d.ts +0 -10
  265. package/dist/nodes/lime-crm/transport/limeQuery.js +0 -15
  266. package/dist/nodes/lime-crm/transport/limeQuery.js.map +0 -1
  267. package/dist/nodes/lime-crm/transport/limeobjects.d.ts +0 -7
  268. package/dist/nodes/lime-crm/transport/limeobjects.js +0 -134
  269. package/dist/nodes/lime-crm/transport/limeobjects.js.map +0 -1
  270. package/dist/nodes/lime-crm/transport/limetypes.d.ts +0 -6
  271. package/dist/nodes/lime-crm/transport/limetypes.js +0 -54
  272. package/dist/nodes/lime-crm/transport/limetypes.js.map +0 -1
  273. package/dist/nodes/lime-crm/transport/task.d.ts +0 -13
  274. package/dist/nodes/lime-crm/transport/task.js +0 -13
  275. package/dist/nodes/lime-crm/transport/task.js.map +0 -1
  276. package/dist/nodes/lime-crm/transport/webhooks.d.ts +0 -16
  277. package/dist/nodes/lime-crm/transport/webhooks.js +0 -43
  278. package/dist/nodes/lime-crm/transport/webhooks.js.map +0 -1
  279. package/dist/nodes/nodeResponse.d.ts +0 -12
  280. package/dist/nodes/nodeResponse.js +0 -3
  281. package/dist/nodes/nodeResponse.js.map +0 -1
  282. package/dist/package.json +0 -75
  283. package/dist/tsconfig.tsbuildinfo +0 -1
  284. package/docker-compose.yml +0 -52
  285. package/nodes/lime-crm/commons/constants.ts +0 -9
  286. package/nodes/lime-crm/commons/hmac.ts +0 -13
  287. package/nodes/lime-crm/commons/index.ts +0 -10
  288. package/nodes/lime-crm/commons/task.ts +0 -55
  289. package/nodes/lime-crm/commons/webhook.ts +0 -68
  290. package/nodes/lime-crm/methods/getEntitiesForErpSystem.ts +0 -11
  291. package/nodes/lime-crm/model.ts +0 -22
  292. package/nodes/lime-crm/resources/erpConnector/index.ts +0 -43
  293. package/nodes/lime-crm/resources/erpConnector/operations/createOrUpdateObjects.operation.ts +0 -69
  294. package/nodes/lime-crm/resources/erpConnector/operations/transform.operation.ts +0 -274
  295. package/nodes/lime-crm/resources/erpConnector/transform.ts +0 -49
  296. package/nodes/lime-crm/resources/erpConnector/transformers/baseTransformer.ts +0 -18
  297. package/nodes/lime-crm/resources/erpConnector/transformers/fortnox.ts +0 -201
  298. package/nodes/lime-crm/resources/erpConnector/transformers/index.ts +0 -1
  299. package/nodes/lime-crm/transport/erpConnector.ts +0 -21
  300. package/nodes/lime-crm/transport/task.ts +0 -32
  301. package/nodes/nodeResponse.ts +0 -13
  302. package/tests/fixtures/fortnox.ts +0 -182
  303. package/tests/transform.spec.ts +0 -187
@@ -6,11 +6,30 @@ import {
6
6
  NodeOperationError,
7
7
  } from 'n8n-workflow';
8
8
 
9
- import * as getSingleLimetype from './operations/getSingleLimetype';
10
- import * as getAllLimetypes from './operations/getAllLimetypes.operation';
11
- import * as getSingleFileMetadata from '../metadata/operations/getSingleFileMetadata';
12
- import { METADATA_RESOURCE } from '../../commons';
9
+ import * as operations from './operations';
10
+ import { METADATA_RESOURCE } from '../../models';
11
+ import { N8NOperationModuleHandler } from '../../../modules';
13
12
 
13
+ const moduleHandler = new N8NOperationModuleHandler([
14
+ operations.getAllLimetypes,
15
+ operations.getSingleLimetype,
16
+ operations.getSingleFileMetadata,
17
+ ]);
18
+
19
+ /**
20
+ * Fields and operations for the **Metadata** resource in Lime CRM.
21
+ *
22
+ * @remarks
23
+ * - These fields are displayed in the n8n node UI when the resource is set to `Metadata`.
24
+ * - Each operation corresponds to fetching or inspecting metadata in Lime CRM.
25
+ *
26
+ * @group Resources
27
+ * @public
28
+ *
29
+ * @see {@link getAllLimetypes} - Operation to retrieve a list of all available Limetypes
30
+ * @see {@link getSingleLimetype} - Operation to retrieve details about a specific Limetype
31
+ * @see {@link getSingleFileMetadata} - Operation to fetch metadata for a specific file
32
+ */
14
33
  export const metadataFields: INodeProperties[] = [
15
34
  {
16
35
  displayName: 'Operation',
@@ -22,31 +41,50 @@ export const metadataFields: INodeProperties[] = [
22
41
  resource: [METADATA_RESOURCE],
23
42
  },
24
43
  },
25
- options: [
26
- getAllLimetypes.description,
27
- getSingleLimetype.description,
28
- getSingleFileMetadata.description,
29
- ],
30
- default: 'listTypes',
44
+ options: moduleHandler.getDescriptions(),
45
+ default: 'getAllLimetypes',
31
46
  },
32
47
 
33
- ...getSingleLimetype.properties,
34
- ...getSingleFileMetadata.properties,
48
+ ...moduleHandler.getProperties(),
35
49
  ];
36
50
 
51
+ /**
52
+ * Execute a specific **Metadata** operation on Lime CRM.
53
+ *
54
+ * @param args - Contextual parameters for the operation being executed
55
+ * @param args.operation - The operation to perform (e.g., `getAllLimetypes`, `getSingleLimetype`)
56
+ * @param args.i - The index of the input item to process
57
+ *
58
+ * @returns A promise resolving to the n8n object containing the result of the operation.
59
+ *
60
+ * @throws NodeOperationError if the operation is unsupported or fails.
61
+ *
62
+ * @public
63
+ * @group Resources
64
+ */
37
65
  export async function metadataOperations(
38
66
  this: IExecuteFunctions,
39
67
  { operation, i }: { operation: string; i: number }
40
- ): Promise<INodeExecutionData> {
68
+ ): Promise<INodeExecutionData | INodeExecutionData[]> {
41
69
  switch (operation) {
42
70
  case 'getAllLimetypes': {
43
- return { json: await getAllLimetypes.execute.call(this) };
71
+ const results = await operations.getAllLimetypes.execute.call(this);
72
+ return results.map((limetype) => ({
73
+ json: limetype,
74
+ }));
44
75
  }
45
76
  case 'getSingleLimetype': {
46
- return { json: await getSingleLimetype.execute.call(this, i) };
77
+ return {
78
+ json: await operations.getSingleLimetype.execute.call(this, i),
79
+ };
47
80
  }
48
81
  case 'getSingleFileMetadata': {
49
- return { json: await getSingleFileMetadata.execute.call(this, i) };
82
+ return {
83
+ json: await operations.getSingleFileMetadata.execute.call(
84
+ this,
85
+ i
86
+ ),
87
+ };
50
88
  }
51
89
  }
52
90
 
@@ -55,3 +93,5 @@ export async function metadataOperations(
55
93
  `The operation "${operation}" is not supported!`
56
94
  );
57
95
  }
96
+
97
+ export * from './operations';
@@ -1,9 +1,11 @@
1
1
  import { IExecuteFunctions } from 'n8n-workflow';
2
2
 
3
3
  import { getLimetypesFromApi } from '../../../transport';
4
- import { Limetype } from '../../../model';
5
- import { NodeResponse } from '../../../../nodeResponse';
4
+ import { Limetype } from '../../../models';
6
5
 
6
+ /**
7
+ * Description and metadata for the "Get All Limetypes" operation in Lime CRM.
8
+ */
7
9
  export const description = {
8
10
  name: 'Get all Limetypes',
9
11
  value: 'getAllLimetypes',
@@ -11,8 +13,16 @@ export const description = {
11
13
  action: 'Get all Limetypes',
12
14
  };
13
15
 
14
- export async function execute(
15
- this: IExecuteFunctions
16
- ): Promise<NodeResponse<Limetype[]>> {
16
+ /**
17
+ * Retrieve a list of all available Limetypes from Lime CRM.
18
+ *
19
+ * This operation queries the Lime CRM API for all accessible Limetypes,
20
+ * such as company, person, deal, etc.
21
+ *
22
+ * @returns An array of Limetype objects
23
+ *
24
+ * @public
25
+ */
26
+ export async function execute(this: IExecuteFunctions): Promise<Limetype[]> {
17
27
  return await getLimetypesFromApi(this);
18
28
  }
@@ -1,15 +1,20 @@
1
1
  import {
2
2
  IExecuteFunctions,
3
3
  INodeProperties,
4
- INodeExecutionData,
5
4
  NodeOperationError,
6
5
  } from 'n8n-workflow';
7
6
  import {
7
+ FileMetadata,
8
8
  getFileMetadata,
9
9
  getFileMetadataByLimeobject,
10
10
  } from '../../../transport';
11
- import { METADATA_RESOURCE } from '../../../commons';
11
+ import { METADATA_RESOURCE } from '../../../models';
12
12
 
13
+ /**
14
+ * Description and metadata for the "Get Single File Metadata" operation in Lime CRM.
15
+ *
16
+ * @public
17
+ */
13
18
  export const description = {
14
19
  name: 'Get Single File Metadata',
15
20
  value: 'getSingleFileMetadata',
@@ -17,6 +22,16 @@ export const description = {
17
22
  action: 'Get single file metadata',
18
23
  };
19
24
 
25
+ /**
26
+ * Node parameter definitions for the "Get Single File Metadata" operation.
27
+ *
28
+ * @param source - Determines whether the file is retrieved by its ID or by its associated Limeobject ID
29
+ * @param limetype - The Lime CRM entity type associated with the file (required when `source` is `byLimeobject`)
30
+ * @param identifier - The unique identifier of the file or Limeobject to retrieve metadata for
31
+ * @param property - The file property in the Limeobject containing the file reference (used when `source` is `byLimeobject`)
32
+ *
33
+ * @public
34
+ */
20
35
  export const properties: INodeProperties[] = [
21
36
  {
22
37
  displayName: 'Get by',
@@ -98,29 +113,31 @@ export const properties: INodeProperties[] = [
98
113
  },
99
114
  ];
100
115
 
116
+ /**
117
+ * Execute the "Get Single File Metadata" operation.
118
+ *
119
+ * Retrieves file metadata either directly via its file ID, or through its associated Limeobject.
120
+ * The function dynamically calls the correct method depending on user configuration.
121
+ *
122
+ * @param i - The index of the current item being processed within the n8n execution loop.
123
+ * @returns File metadata
124
+ *
125
+ * @public
126
+ */
101
127
  export async function execute(
102
128
  this: IExecuteFunctions,
103
129
  i: number
104
- ): Promise<INodeExecutionData> {
130
+ ): Promise<FileMetadata> {
105
131
  const source = this.getNodeParameter('source', i) as string;
106
132
  const id = this.getNodeParameter('identifier', i) as string;
107
133
 
108
134
  if (source == 'byFile') {
109
- return {
110
- json: await getFileMetadata(this, id),
111
- };
135
+ return await getFileMetadata(this, id);
112
136
  }
113
137
  if (source == 'byLimeobject') {
114
138
  const limetype = this.getNodeParameter('limetype', i) as string;
115
139
  const property = this.getNodeParameter('property', i) as string;
116
- return {
117
- json: await getFileMetadataByLimeobject(
118
- this,
119
- limetype,
120
- id,
121
- property
122
- ),
123
- };
140
+ return await getFileMetadataByLimeobject(this, limetype, id, property);
124
141
  }
125
142
 
126
143
  throw new NodeOperationError(
@@ -1,7 +1,12 @@
1
1
  import { IExecuteFunctions, INodeProperties } from 'n8n-workflow';
2
2
  import { getLimetype } from '../../../transport/limetypes';
3
- import { METADATA_RESOURCE } from '../../../commons';
3
+ import { METADATA_RESOURCE } from '../../../models';
4
4
 
5
+ /**
6
+ * Description and metadata for the "Get Single Limetype" operation in Lime CRM.
7
+ *
8
+ * @public
9
+ */
5
10
  export const description = {
6
11
  name: 'Get Single Limetype',
7
12
  value: 'getSingleLimetype',
@@ -9,6 +14,13 @@ export const description = {
9
14
  action: 'Get single Limetype',
10
15
  };
11
16
 
17
+ /**
18
+ * Node parameter definitions for the "Get Single Limetype" operation.
19
+ *
20
+ * @param limetype - The name of the entity type (Limetype) to retrieve details for
21
+ *
22
+ * @public
23
+ */
12
24
  export const properties: INodeProperties[] = [
13
25
  {
14
26
  displayName: 'Limetype',
@@ -29,6 +41,16 @@ export const properties: INodeProperties[] = [
29
41
  },
30
42
  ];
31
43
 
44
+ /**
45
+ * Execute the "Get Single Limetype" operation.
46
+ *
47
+ * Retrieves detailed information about a specific Limetype from Lime CRM.
48
+ *
49
+ * @param i - The index of the current item being processed within the n8n execution loop.
50
+ * @returns Limetype details as returned from the API.
51
+ *
52
+ * @public
53
+ */
32
54
  export async function execute(this: IExecuteFunctions, i: number) {
33
55
  const limetype = this.getNodeParameter('limetype', i) as string;
34
56
 
@@ -0,0 +1,12 @@
1
+ /**
2
+ * @group Resources
3
+ */
4
+ export * as getSingleLimetype from './getSingleLimetype.operation';
5
+ /**
6
+ * @group Resources
7
+ */
8
+ export * as getAllLimetypes from './getAllLimetypes.operation';
9
+ /**
10
+ * @group Resources
11
+ */
12
+ export * as getSingleFileMetadata from './getSingleFileMetadata.operation';
@@ -1,9 +1,25 @@
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
+ */
7
23
  export function removeKeys<T extends object, K extends keyof T>(
8
24
  data: T,
9
25
  keys: K[]
@@ -15,6 +31,16 @@ export function removeKeys<T extends object, K extends keyof T>(
15
31
  return obj;
16
32
  }
17
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
+ */
18
44
  async function getLimeUrl(context: IAllExecuteFunctions): Promise<string> {
19
45
  const credentials = await context.getCredentials(
20
46
  LIME_CRM_API_CREDENTIAL_KEY
@@ -22,36 +48,68 @@ async function getLimeUrl(context: IAllExecuteFunctions): Promise<string> {
22
48
  return credentials.url as string;
23
49
  }
24
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
+ */
25
85
  export async function callLimeApi<T>(
26
86
  nodeContext: IAllExecuteFunctions,
27
- method: HTTPMethod,
28
- url: string,
29
- options?: Record<string, unknown>,
30
- json = true
31
- ): Promise<NodeResponse<T>> {
87
+ options: LimeAPIArguments
88
+ ): Promise<T> {
32
89
  try {
33
- const response: T =
34
- await nodeContext.helpers.requestWithAuthentication.call(
35
- nodeContext,
36
- LIME_CRM_API_CREDENTIAL_KEY,
37
- {
38
- method: method,
39
- url: url,
40
- json: json,
41
- baseURL: await getLimeUrl(nodeContext),
42
- ...options,
43
- }
44
- );
45
- return {
46
- success: true,
47
- data: response,
48
- };
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
+ );
49
101
  } catch (error) {
50
- return {
51
- success: false,
102
+ const errorContext = {
52
103
  error: error instanceof Error ? error.message : String(error),
53
104
  status: error?.cause?.status,
54
- metadata: options,
105
+ metadata: {
106
+ ...options.requestOptions,
107
+ ...options.errorMetadata,
108
+ },
55
109
  };
110
+ throw new NodeOperationError(
111
+ nodeContext.getNode(),
112
+ JSON.stringify(errorContext)
113
+ );
56
114
  }
57
115
  }