@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
@@ -1,17 +1,52 @@
1
1
  import { callLimeApi, getLimeobject } from '.';
2
- import { IExecuteFunctions, IBinaryData, BINARY_ENCODING } from 'n8n-workflow';
3
- import { NodeResponse } from '../../nodeResponse';
2
+ import {
3
+ IExecuteFunctions,
4
+ IBinaryData,
5
+ BINARY_ENCODING,
6
+ NodeOperationError,
7
+ } from 'n8n-workflow';
4
8
  import { removeKeys } from './commons';
5
- import { getFilenameFromHeader, setFilename } from '../commons';
6
-
9
+ import { getFilenameFromHeader, setFilename } from '../utils';
10
+
11
+ /**
12
+ * Endpoint path for Lime CRM file API.
13
+ *
14
+ * @internal
15
+ * @group Transport
16
+ */
7
17
  const LIME_FILE_URL = '/api/v1/file/';
8
18
 
9
- interface FileApiResponse {
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 {
10
29
  headers: Record<string, string | string[] | undefined>;
11
30
  body: Buffer;
12
31
  }
13
32
 
14
- interface FileMetadata {
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 = {
15
50
  filename: string;
16
51
  id: number;
17
52
  size: number;
@@ -21,135 +56,165 @@ interface FileMetadata {
21
56
  locked_by: number;
22
57
  last_modified: string;
23
58
  _links?: { [key: string]: { href: string } };
24
- }
25
-
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
+ */
26
71
  export async function getFileMetadata(
27
72
  nodeContext: IExecuteFunctions,
28
73
  id: string | number
29
- ): Promise<NodeResponse<FileMetadata>> {
74
+ ): Promise<FileMetadata> {
30
75
  const url = `${LIME_FILE_URL}${id}/`;
31
- const response = await callLimeApi<FileMetadata>(nodeContext, 'GET', url);
32
- if (!response.success) {
33
- return response;
34
- }
35
-
36
- return {
37
- success: true,
38
- data: removeKeys(response.data, ['_links']),
39
- };
76
+ const fileMetadata = await callLimeApi<FileMetadata>(nodeContext, {
77
+ method: 'GET',
78
+ url: url,
79
+ });
80
+ return removeKeys(fileMetadata, ['_links']);
40
81
  }
41
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
+ */
42
95
  export async function getFileMetadataByLimeobject(
43
96
  nodeContext: IExecuteFunctions,
44
97
  limetype: string,
45
98
  id: string,
46
99
  fileTypeProperty: string
47
- ): Promise<NodeResponse<FileMetadata>> {
100
+ ): Promise<FileMetadata> {
48
101
  const objectResponse = await getLimeobject(nodeContext, limetype, id);
49
- if (!objectResponse.success) {
50
- return objectResponse;
51
- }
52
- const fileId = objectResponse.data[fileTypeProperty] as string | undefined;
102
+ const fileId = objectResponse[fileTypeProperty] as string | undefined;
53
103
 
54
104
  if (!fileId) {
55
- return {
56
- success: false,
57
- error: 'The specified Limeobject does not have an associated file.',
58
- };
59
- }
60
-
61
- const metadataResponse = await getFileMetadata(nodeContext, fileId);
62
- if (!metadataResponse.success) {
63
- return metadataResponse;
105
+ throw new NodeOperationError(
106
+ nodeContext.getNode(),
107
+ 'The specified Limeobject does not have an associated file.'
108
+ );
64
109
  }
65
110
 
66
- return {
67
- success: true,
68
- data: removeKeys(metadataResponse.data, ['_links']),
69
- };
111
+ const fileMetadata = await getFileMetadata(nodeContext, fileId);
112
+ return removeKeys(fileMetadata, ['_links']);
70
113
  }
71
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
+ */
72
125
  export async function getFileContent(
73
126
  nodeContext: IExecuteFunctions,
74
127
  id: string | number
75
- ): Promise<NodeResponse<IBinaryData>> {
128
+ ): Promise<IBinaryData> {
76
129
  const url = `${LIME_FILE_URL}${id}/contents/`;
77
130
 
78
- const response = await callLimeApi<FileApiResponse>(
79
- nodeContext,
80
- 'GET',
81
- url,
82
- {
131
+ const response = await callLimeApi<FileApiResponse>(nodeContext, {
132
+ method: 'GET',
133
+ url: url,
134
+ requestOptions: {
83
135
  encoding: null,
84
136
  responseType: 'stream',
85
137
  resolveWithFullResponse: true,
86
138
  },
87
- false
88
- );
89
- if (!response.success) {
90
- return response;
91
- }
139
+ json: false,
140
+ });
92
141
 
93
- const fileName =
94
- getFilenameFromHeader(response.data.headers) || `file_${id}`;
142
+ const fileName = getFilenameFromHeader(response.headers) || `file_${id}`;
95
143
  const binaryData = await nodeContext.helpers.prepareBinaryData(
96
- response.data.body
144
+ response.body
97
145
  );
98
146
  binaryData.fileName = setFilename(binaryData, fileName);
99
147
 
100
- return {
101
- success: true,
102
- data: binaryData,
103
- };
148
+ return binaryData;
104
149
  }
105
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
+ */
106
163
  export async function getFileContentByLimetype(
107
164
  nodeContext: IExecuteFunctions,
108
165
  limetype: string,
109
166
  id: string,
110
167
  fileTypeProperty: string
111
- ): Promise<NodeResponse<IBinaryData>> {
112
- const objectResponse = await getLimeobject(nodeContext, limetype, id);
113
- if (!objectResponse.success) {
114
- return objectResponse;
115
- }
116
- const fileId = objectResponse.data[fileTypeProperty] as string | undefined;
168
+ ): Promise<IBinaryData> {
169
+ const limeObjectResponse = await getLimeobject(nodeContext, limetype, id);
170
+ const fileId = limeObjectResponse[fileTypeProperty] as string | undefined;
117
171
 
118
172
  if (!fileId) {
119
- return {
120
- success: false,
121
- error: 'The specified Limeobject does not have an associated file.',
122
- };
173
+ throw new NodeOperationError(
174
+ nodeContext.getNode(),
175
+ 'The specified Limeobject does not have an associated file.'
176
+ );
123
177
  }
124
178
 
125
179
  return await getFileContent(nodeContext, fileId);
126
180
  }
127
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
+ */
128
193
  export async function createFile(
129
194
  nodeContext: IExecuteFunctions,
130
195
  binary: IBinaryData,
131
196
  fallbackFileName: string
132
- ): Promise<NodeResponse<FileMetadata>> {
133
- const response = await callLimeApi<FileMetadata>(
134
- nodeContext,
135
- 'POST',
136
- LIME_FILE_URL,
137
- {
138
- body: Buffer.from(binary.data, BINARY_ENCODING),
139
- headers: {
140
- 'Content-Disposition': `;filename*="UTF-8''${encodeURIComponent(binary.fileName || fallbackFileName)}"`,
141
- 'Content-Type': binary.mimeType,
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
+ },
142
209
  },
143
- }
144
- );
145
-
146
- // Remove metadata from the response to reduce its overall size
147
- if (!response.success) {
148
- return { success: false, error: response.error };
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
+ );
149
217
  }
150
218
 
151
- return {
152
- success: true,
153
- data: removeKeys(response.data, ['_links']),
154
- };
219
+ return removeKeys(response, ['_links']);
155
220
  }
@@ -1,25 +1,43 @@
1
+ export { HTTPMethod, callLimeApi, removeKeys } from './commons';
1
2
  export {
2
- getSubscription,
3
- deleteSubscription,
4
- createSubscription,
5
- listSubscriptionsWithExistingData,
6
- } from './webhooks';
7
- export { getLimetypesFromApi, getProperties } from './limetypes';
8
-
3
+ FileApiResponse,
4
+ FileMetadata,
5
+ createFile,
6
+ getFileContent,
7
+ getFileContentByLimetype,
8
+ getFileMetadata,
9
+ getFileMetadataByLimeobject,
10
+ } from './files';
9
11
  export {
12
+ FetchManyLimeobjectsApiResponse,
13
+ LimeobjectCrmApiResponse,
10
14
  createLimeobject,
11
15
  deleteLimeobject,
12
16
  updateLimeobject,
13
17
  getLimeobject,
14
- fetchManyLimeobjects,
15
18
  } from './limeobjects';
16
- export { startCreateOrUpdateObjectsTask } from './erpConnector';
17
- export { queryLimeobjects } from './limeQuery';
18
19
  export {
19
- createFile,
20
- getFileContent,
21
- getFileContentByLimetype,
22
- getFileMetadata,
23
- getFileMetadataByLimeobject,
24
- } from './files';
25
- export { callLimeApi } from './commons';
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,
34
+ createSubscription,
35
+ deleteSubscription,
36
+ getSubscription,
37
+ listSubscriptionsWithExistingData,
38
+ } from './webhooks';
39
+ export {
40
+ fetchManyUsers,
41
+ fetchSingleUserById,
42
+ fetchSingleUserByLimeobjectId,
43
+ } from './users';
@@ -1,26 +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
 
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
+ */
15
47
  export async function queryLimeobjects(
16
48
  nodeContext: IAllExecuteFunctions,
17
49
  q: string
18
- ): Promise<NodeResponse<QueryResponse>> {
50
+ ): Promise<QueryResponse> {
19
51
  const queryParameters = {
20
52
  q: q,
21
53
  };
22
54
 
23
- return await callLimeApi(nodeContext, 'GET', LIME_QUERY_URL, {
24
- qs: queryParameters,
55
+ return await callLimeApi(nodeContext, {
56
+ method: 'GET',
57
+ url: LIME_QUERY_URL,
58
+ requestOptions: {
59
+ qs: queryParameters,
60
+ },
25
61
  });
26
62
  }