@limetech/n8n-nodes-lime 0.5.0 → 2.5.0-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 (316) hide show
  1. package/.github/workflows/lint.yml +4 -2
  2. package/.github/workflows/release.yml +8 -41
  3. package/.github/workflows/test-and-build.yml +1 -16
  4. package/.releaserc.json +2 -1
  5. package/CHANGELOG.md +155 -0
  6. package/Dockerfile +0 -21
  7. package/README.md +1 -1
  8. package/credentials/LimeCrmApi.credentials.ts +38 -1
  9. package/credentials/index.ts +2 -0
  10. package/eslint.config.mjs +2 -1
  11. package/knip.json +9 -0
  12. package/nodes/errorHandling.ts +60 -0
  13. package/nodes/fortnox/index.ts +6 -0
  14. package/nodes/fortnox/resources/customers/index.ts +18 -22
  15. package/nodes/fortnox/resources/customers/operations/create.operation.ts +12 -8
  16. package/nodes/fortnox/resources/customers/operations/delete.operation.ts +10 -15
  17. package/nodes/fortnox/resources/customers/operations/get.operation.ts +10 -15
  18. package/nodes/fortnox/resources/customers/operations/getAll.operation.ts +1 -2
  19. package/nodes/fortnox/resources/customers/operations/index.ts +5 -0
  20. package/nodes/fortnox/resources/customers/operations/update.operation.ts +30 -30
  21. package/nodes/fortnox/resources/invoice/index.ts +16 -18
  22. package/nodes/fortnox/resources/invoice/model.ts +0 -4
  23. package/nodes/fortnox/resources/invoice/operations/create.operation.ts +1 -2
  24. package/nodes/fortnox/resources/invoice/operations/get.operation.ts +10 -15
  25. package/nodes/fortnox/resources/invoice/operations/getAll.operation.ts +1 -2
  26. package/nodes/fortnox/resources/invoice/operations/index.ts +4 -0
  27. package/nodes/fortnox/resources/invoice/operations/update.operation.ts +11 -16
  28. package/nodes/fortnox/transport/index.ts +14 -11
  29. package/nodes/index.ts +4 -0
  30. package/nodes/lime-crm/LimeCrmNode.node.ts +89 -11
  31. package/nodes/lime-crm/LimeCrmTrigger.node.ts +75 -21
  32. package/nodes/lime-crm/index.ts +9 -0
  33. package/nodes/lime-crm/methods/getLimetypeProperties.ts +53 -8
  34. package/nodes/lime-crm/methods/getLimetypes.ts +15 -9
  35. package/nodes/lime-crm/methods/index.ts +6 -1
  36. package/nodes/lime-crm/methods/resourceMapping.ts +141 -0
  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 +65 -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 +94 -0
  45. package/nodes/lime-crm/resources/admin/operations/getManyUsers.operation.ts +174 -0
  46. package/nodes/lime-crm/resources/admin/operations/getSingleUser.operation.ts +112 -0
  47. package/nodes/lime-crm/resources/admin/operations/index.ts +8 -0
  48. package/nodes/lime-crm/resources/data/index.ts +77 -31
  49. package/nodes/lime-crm/resources/data/operations/{createSingleObject.ts → createSingleObject.operation.ts} +64 -54
  50. package/nodes/lime-crm/resources/data/operations/{deleteSingleObject.ts → deleteSingleObject.operation.ts} +39 -6
  51. package/nodes/lime-crm/resources/data/operations/{getManyObjects.ts → getManyObjects.operation.ts} +195 -48
  52. package/nodes/lime-crm/resources/data/operations/{getSingleFile.ts → getSingleFile.operation.ts} +47 -11
  53. package/nodes/lime-crm/resources/data/operations/{getSingleObject.ts → getSingleObject.operation.ts} +50 -8
  54. package/nodes/lime-crm/resources/data/operations/index.ts +24 -0
  55. package/nodes/lime-crm/resources/data/operations/updateSingleObject.operation.ts +83 -61
  56. package/nodes/lime-crm/resources/metadata/index.ts +60 -16
  57. package/nodes/lime-crm/resources/metadata/operations/getAllLimetypes.operation.ts +18 -4
  58. package/nodes/lime-crm/resources/metadata/operations/{getSingleFileMetadata.ts → getSingleFileMetadata.operation.ts} +46 -26
  59. package/nodes/lime-crm/resources/metadata/operations/{getSingleLimetype.ts → getSingleLimetype.operation.ts} +30 -3
  60. package/nodes/lime-crm/resources/metadata/operations/index.ts +12 -0
  61. package/nodes/lime-crm/transport/commons.ts +90 -18
  62. package/nodes/lime-crm/transport/files.ts +161 -71
  63. package/nodes/lime-crm/transport/index.ts +35 -17
  64. package/nodes/lime-crm/transport/limeQuery.ts +43 -7
  65. package/nodes/lime-crm/transport/limeobjects.ts +113 -178
  66. package/nodes/lime-crm/transport/limetypes.ts +125 -48
  67. package/nodes/lime-crm/transport/users.ts +300 -0
  68. package/nodes/lime-crm/transport/webhooks.ts +97 -37
  69. package/nodes/lime-crm/{commons → utils}/files.ts +79 -26
  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/webhook.ts +81 -0
  73. package/nodes/modules.ts +44 -0
  74. package/nodes/response.ts +54 -0
  75. package/package.json +21 -28
  76. package/tests/nodes/lime-crm/methods.spec.ts +91 -0
  77. package/tests/nodes/lime-crm/utils.spec.ts +273 -0
  78. package/typedoc.css +9 -0
  79. package/typedoc.json +19 -0
  80. package/.dockerignore +0 -1
  81. package/dist/credentials/FortnoxApi.credentials.d.ts +0 -9
  82. package/dist/credentials/FortnoxApi.credentials.js +0 -57
  83. package/dist/credentials/FortnoxApi.credentials.js.map +0 -1
  84. package/dist/credentials/LimeCrmApi.credentials.d.ts +0 -9
  85. package/dist/credentials/LimeCrmApi.credentials.js +0 -66
  86. package/dist/credentials/LimeCrmApi.credentials.js.map +0 -1
  87. package/dist/nodes/fortnox/Fortnox.node.d.ts +0 -5
  88. package/dist/nodes/fortnox/Fortnox.node.js +0 -95
  89. package/dist/nodes/fortnox/Fortnox.node.js.map +0 -1
  90. package/dist/nodes/fortnox/Fortnox.node.json +0 -18
  91. package/dist/nodes/fortnox/FortnoxTrigger.node.d.ts +0 -5
  92. package/dist/nodes/fortnox/FortnoxTrigger.node.js +0 -155
  93. package/dist/nodes/fortnox/FortnoxTrigger.node.js.map +0 -1
  94. package/dist/nodes/fortnox/FortnoxTrigger.node.json +0 -18
  95. package/dist/nodes/fortnox/commons.d.ts +0 -25
  96. package/dist/nodes/fortnox/commons.js +0 -44
  97. package/dist/nodes/fortnox/commons.js.map +0 -1
  98. package/dist/nodes/fortnox/fortnoxLogo.svg +0 -15
  99. package/dist/nodes/fortnox/model.d.ts +0 -20
  100. package/dist/nodes/fortnox/model.js +0 -3
  101. package/dist/nodes/fortnox/model.js.map +0 -1
  102. package/dist/nodes/fortnox/resources/customers/filterParameters.d.ts +0 -2
  103. package/dist/nodes/fortnox/resources/customers/filterParameters.js +0 -31
  104. package/dist/nodes/fortnox/resources/customers/filterParameters.js.map +0 -1
  105. package/dist/nodes/fortnox/resources/customers/index.d.ts +0 -20
  106. package/dist/nodes/fortnox/resources/customers/index.js +0 -87
  107. package/dist/nodes/fortnox/resources/customers/index.js.map +0 -1
  108. package/dist/nodes/fortnox/resources/customers/model.d.ts +0 -99
  109. package/dist/nodes/fortnox/resources/customers/model.js +0 -3
  110. package/dist/nodes/fortnox/resources/customers/model.js.map +0 -1
  111. package/dist/nodes/fortnox/resources/customers/operations/create.operation.d.ts +0 -12
  112. package/dist/nodes/fortnox/resources/customers/operations/create.operation.js +0 -283
  113. package/dist/nodes/fortnox/resources/customers/operations/create.operation.js.map +0 -1
  114. package/dist/nodes/fortnox/resources/customers/operations/delete.operation.d.ts +0 -10
  115. package/dist/nodes/fortnox/resources/customers/operations/delete.operation.js +0 -45
  116. package/dist/nodes/fortnox/resources/customers/operations/delete.operation.js.map +0 -1
  117. package/dist/nodes/fortnox/resources/customers/operations/get.operation.d.ts +0 -11
  118. package/dist/nodes/fortnox/resources/customers/operations/get.operation.js +0 -45
  119. package/dist/nodes/fortnox/resources/customers/operations/get.operation.js.map +0 -1
  120. package/dist/nodes/fortnox/resources/customers/operations/getAll.operation.d.ts +0 -11
  121. package/dist/nodes/fortnox/resources/customers/operations/getAll.operation.js +0 -68
  122. package/dist/nodes/fortnox/resources/customers/operations/getAll.operation.js.map +0 -1
  123. package/dist/nodes/fortnox/resources/customers/operations/update.operation.d.ts +0 -12
  124. package/dist/nodes/fortnox/resources/customers/operations/update.operation.js +0 -276
  125. package/dist/nodes/fortnox/resources/customers/operations/update.operation.js.map +0 -1
  126. package/dist/nodes/fortnox/resources/customers/sortParameters.d.ts +0 -2
  127. package/dist/nodes/fortnox/resources/customers/sortParameters.js +0 -30
  128. package/dist/nodes/fortnox/resources/customers/sortParameters.js.map +0 -1
  129. package/dist/nodes/fortnox/resources/invoice/filterParameters.d.ts +0 -2
  130. package/dist/nodes/fortnox/resources/invoice/filterParameters.js +0 -72
  131. package/dist/nodes/fortnox/resources/invoice/filterParameters.js.map +0 -1
  132. package/dist/nodes/fortnox/resources/invoice/index.d.ts +0 -20
  133. package/dist/nodes/fortnox/resources/invoice/index.js +0 -81
  134. package/dist/nodes/fortnox/resources/invoice/index.js.map +0 -1
  135. package/dist/nodes/fortnox/resources/invoice/invoiceParameters.d.ts +0 -2
  136. package/dist/nodes/fortnox/resources/invoice/invoiceParameters.js +0 -193
  137. package/dist/nodes/fortnox/resources/invoice/invoiceParameters.js.map +0 -1
  138. package/dist/nodes/fortnox/resources/invoice/model.d.ts +0 -150
  139. package/dist/nodes/fortnox/resources/invoice/model.js +0 -3
  140. package/dist/nodes/fortnox/resources/invoice/model.js.map +0 -1
  141. package/dist/nodes/fortnox/resources/invoice/operations/create.operation.d.ts +0 -11
  142. package/dist/nodes/fortnox/resources/invoice/operations/create.operation.js +0 -64
  143. package/dist/nodes/fortnox/resources/invoice/operations/create.operation.js.map +0 -1
  144. package/dist/nodes/fortnox/resources/invoice/operations/get.operation.d.ts +0 -11
  145. package/dist/nodes/fortnox/resources/invoice/operations/get.operation.js +0 -44
  146. package/dist/nodes/fortnox/resources/invoice/operations/get.operation.js.map +0 -1
  147. package/dist/nodes/fortnox/resources/invoice/operations/getAll.operation.d.ts +0 -11
  148. package/dist/nodes/fortnox/resources/invoice/operations/getAll.operation.js +0 -92
  149. package/dist/nodes/fortnox/resources/invoice/operations/getAll.operation.js.map +0 -1
  150. package/dist/nodes/fortnox/resources/invoice/operations/update.operation.d.ts +0 -11
  151. package/dist/nodes/fortnox/resources/invoice/operations/update.operation.js +0 -71
  152. package/dist/nodes/fortnox/resources/invoice/operations/update.operation.js.map +0 -1
  153. package/dist/nodes/fortnox/transport/errorCodes.d.ts +0 -1
  154. package/dist/nodes/fortnox/transport/errorCodes.js +0 -50
  155. package/dist/nodes/fortnox/transport/errorCodes.js.map +0 -1
  156. package/dist/nodes/fortnox/transport/index.d.ts +0 -4
  157. package/dist/nodes/fortnox/transport/index.js +0 -77
  158. package/dist/nodes/fortnox/transport/index.js.map +0 -1
  159. package/dist/nodes/lime-crm/LimeCrm.node.json +0 -18
  160. package/dist/nodes/lime-crm/LimeCrmNode.node.d.ts +0 -14
  161. package/dist/nodes/lime-crm/LimeCrmNode.node.js +0 -126
  162. package/dist/nodes/lime-crm/LimeCrmNode.node.js.map +0 -1
  163. package/dist/nodes/lime-crm/LimeCrmTrigger.node.d.ts +0 -18
  164. package/dist/nodes/lime-crm/LimeCrmTrigger.node.js +0 -215
  165. package/dist/nodes/lime-crm/LimeCrmTrigger.node.js.map +0 -1
  166. package/dist/nodes/lime-crm/assets/lime-crm.svg +0 -1
  167. package/dist/nodes/lime-crm/commons/constants.d.ts +0 -5
  168. package/dist/nodes/lime-crm/commons/constants.js +0 -9
  169. package/dist/nodes/lime-crm/commons/constants.js.map +0 -1
  170. package/dist/nodes/lime-crm/commons/hmac.d.ts +0 -1
  171. package/dist/nodes/lime-crm/commons/hmac.js +0 -11
  172. package/dist/nodes/lime-crm/commons/hmac.js.map +0 -1
  173. package/dist/nodes/lime-crm/commons/index.d.ts +0 -3
  174. package/dist/nodes/lime-crm/commons/index.js +0 -12
  175. package/dist/nodes/lime-crm/commons/index.js.map +0 -1
  176. package/dist/nodes/lime-crm/commons/limetype.d.ts +0 -10
  177. package/dist/nodes/lime-crm/commons/limetype.js +0 -3
  178. package/dist/nodes/lime-crm/commons/limetype.js.map +0 -1
  179. package/dist/nodes/lime-crm/commons/task.d.ts +0 -14
  180. package/dist/nodes/lime-crm/commons/task.js +0 -48
  181. package/dist/nodes/lime-crm/commons/task.js.map +0 -1
  182. package/dist/nodes/lime-crm/commons/webhook.d.ts +0 -20
  183. package/dist/nodes/lime-crm/commons/webhook.js +0 -30
  184. package/dist/nodes/lime-crm/commons/webhook.js.map +0 -1
  185. package/dist/nodes/lime-crm/methods/getEntitiesForErpSystem.d.ts +0 -5
  186. package/dist/nodes/lime-crm/methods/getEntitiesForErpSystem.js +0 -11
  187. package/dist/nodes/lime-crm/methods/getEntitiesForErpSystem.js.map +0 -1
  188. package/dist/nodes/lime-crm/methods/getLimeTypeProperties.d.ts +0 -2
  189. package/dist/nodes/lime-crm/methods/getLimeTypeProperties.js +0 -20
  190. package/dist/nodes/lime-crm/methods/getLimeTypeProperties.js.map +0 -1
  191. package/dist/nodes/lime-crm/methods/getLimeTypes.d.ts +0 -2
  192. package/dist/nodes/lime-crm/methods/getLimeTypes.js +0 -20
  193. package/dist/nodes/lime-crm/methods/getLimeTypes.js.map +0 -1
  194. package/dist/nodes/lime-crm/methods/index.d.ts +0 -3
  195. package/dist/nodes/lime-crm/methods/index.js +0 -10
  196. package/dist/nodes/lime-crm/methods/index.js.map +0 -1
  197. package/dist/nodes/lime-crm/resources/erpConnector/index.d.ts +0 -23
  198. package/dist/nodes/lime-crm/resources/erpConnector/index.js +0 -67
  199. package/dist/nodes/lime-crm/resources/erpConnector/index.js.map +0 -1
  200. package/dist/nodes/lime-crm/resources/erpConnector/operations/createOrUpdateObjects.operation.d.ts +0 -26
  201. package/dist/nodes/lime-crm/resources/erpConnector/operations/createOrUpdateObjects.operation.js +0 -65
  202. package/dist/nodes/lime-crm/resources/erpConnector/operations/createOrUpdateObjects.operation.js.map +0 -1
  203. package/dist/nodes/lime-crm/resources/erpConnector/operations/transform.operation.d.ts +0 -9
  204. package/dist/nodes/lime-crm/resources/erpConnector/operations/transform.operation.js +0 -220
  205. package/dist/nodes/lime-crm/resources/erpConnector/operations/transform.operation.js.map +0 -1
  206. package/dist/nodes/lime-crm/resources/erpConnector/transform.d.ts +0 -15
  207. package/dist/nodes/lime-crm/resources/erpConnector/transform.js +0 -11
  208. package/dist/nodes/lime-crm/resources/erpConnector/transform.js.map +0 -1
  209. package/dist/nodes/lime-crm/resources/erpConnector/transformers/baseTransformer.d.ts +0 -4
  210. package/dist/nodes/lime-crm/resources/erpConnector/transformers/baseTransformer.js +0 -7
  211. package/dist/nodes/lime-crm/resources/erpConnector/transformers/baseTransformer.js.map +0 -1
  212. package/dist/nodes/lime-crm/resources/erpConnector/transformers/fortnox.d.ts +0 -37
  213. package/dist/nodes/lime-crm/resources/erpConnector/transformers/fortnox.js +0 -124
  214. package/dist/nodes/lime-crm/resources/erpConnector/transformers/fortnox.js.map +0 -1
  215. package/dist/nodes/lime-crm/resources/erpConnector/transformers/index.d.ts +0 -1
  216. package/dist/nodes/lime-crm/resources/erpConnector/transformers/index.js +0 -6
  217. package/dist/nodes/lime-crm/resources/erpConnector/transformers/index.js.map +0 -1
  218. package/dist/nodes/lime-crm/resources/limeObject/index.d.ts +0 -14
  219. package/dist/nodes/lime-crm/resources/limeObject/index.js +0 -88
  220. package/dist/nodes/lime-crm/resources/limeObject/index.js.map +0 -1
  221. package/dist/nodes/lime-crm/resources/limeObject/operations/create.operation.d.ts +0 -9
  222. package/dist/nodes/lime-crm/resources/limeObject/operations/create.operation.js +0 -139
  223. package/dist/nodes/lime-crm/resources/limeObject/operations/create.operation.js.map +0 -1
  224. package/dist/nodes/lime-crm/resources/limeObject/operations/delete.operation.d.ts +0 -9
  225. package/dist/nodes/lime-crm/resources/limeObject/operations/delete.operation.js +0 -51
  226. package/dist/nodes/lime-crm/resources/limeObject/operations/delete.operation.js.map +0 -1
  227. package/dist/nodes/lime-crm/resources/limeObject/operations/fetchMany.operation.d.ts +0 -9
  228. package/dist/nodes/lime-crm/resources/limeObject/operations/fetchMany.operation.js +0 -103
  229. package/dist/nodes/lime-crm/resources/limeObject/operations/fetchMany.operation.js.map +0 -1
  230. package/dist/nodes/lime-crm/resources/limeObject/operations/get.operation.d.ts +0 -9
  231. package/dist/nodes/lime-crm/resources/limeObject/operations/get.operation.js +0 -51
  232. package/dist/nodes/lime-crm/resources/limeObject/operations/get.operation.js.map +0 -1
  233. package/dist/nodes/lime-crm/resources/limeObject/operations/search.operation.d.ts +0 -9
  234. package/dist/nodes/lime-crm/resources/limeObject/operations/search.operation.js +0 -103
  235. package/dist/nodes/lime-crm/resources/limeObject/operations/search.operation.js.map +0 -1
  236. package/dist/nodes/lime-crm/resources/limeObject/operations/update.operation.d.ts +0 -9
  237. package/dist/nodes/lime-crm/resources/limeObject/operations/update.operation.js +0 -149
  238. package/dist/nodes/lime-crm/resources/limeObject/operations/update.operation.js.map +0 -1
  239. package/dist/nodes/lime-crm/resources/limeQuery/index.d.ts +0 -6
  240. package/dist/nodes/lime-crm/resources/limeQuery/index.js +0 -66
  241. package/dist/nodes/lime-crm/resources/limeQuery/index.js.map +0 -1
  242. package/dist/nodes/lime-crm/resources/limeQuery/operations/query.operation.d.ts +0 -9
  243. package/dist/nodes/lime-crm/resources/limeQuery/operations/query.operation.js +0 -191
  244. package/dist/nodes/lime-crm/resources/limeQuery/operations/query.operation.js.map +0 -1
  245. package/dist/nodes/lime-crm/resources/limeType/index.d.ts +0 -20
  246. package/dist/nodes/lime-crm/resources/limeType/index.js +0 -81
  247. package/dist/nodes/lime-crm/resources/limeType/index.js.map +0 -1
  248. package/dist/nodes/lime-crm/resources/limeType/operations/getProperties.operation.d.ts +0 -11
  249. package/dist/nodes/lime-crm/resources/limeType/operations/getProperties.operation.js +0 -36
  250. package/dist/nodes/lime-crm/resources/limeType/operations/getProperties.operation.js.map +0 -1
  251. package/dist/nodes/lime-crm/resources/limeType/operations/getType.operation.d.ts +0 -9
  252. package/dist/nodes/lime-crm/resources/limeType/operations/getType.operation.js +0 -36
  253. package/dist/nodes/lime-crm/resources/limeType/operations/getType.operation.js.map +0 -1
  254. package/dist/nodes/lime-crm/resources/limeType/operations/listTypes.operation.d.ts +0 -10
  255. package/dist/nodes/lime-crm/resources/limeType/operations/listTypes.operation.js +0 -15
  256. package/dist/nodes/lime-crm/resources/limeType/operations/listTypes.operation.js.map +0 -1
  257. package/dist/nodes/lime-crm/transport/commons.d.ts +0 -5
  258. package/dist/nodes/lime-crm/transport/commons.js +0 -33
  259. package/dist/nodes/lime-crm/transport/commons.js.map +0 -1
  260. package/dist/nodes/lime-crm/transport/erpConnector.d.ts +0 -9
  261. package/dist/nodes/lime-crm/transport/erpConnector.js +0 -11
  262. package/dist/nodes/lime-crm/transport/erpConnector.js.map +0 -1
  263. package/dist/nodes/lime-crm/transport/index.d.ts +0 -6
  264. package/dist/nodes/lime-crm/transport/index.js +0 -24
  265. package/dist/nodes/lime-crm/transport/index.js.map +0 -1
  266. package/dist/nodes/lime-crm/transport/limeQuery.d.ts +0 -10
  267. package/dist/nodes/lime-crm/transport/limeQuery.js +0 -15
  268. package/dist/nodes/lime-crm/transport/limeQuery.js.map +0 -1
  269. package/dist/nodes/lime-crm/transport/limeobjects.d.ts +0 -7
  270. package/dist/nodes/lime-crm/transport/limeobjects.js +0 -134
  271. package/dist/nodes/lime-crm/transport/limeobjects.js.map +0 -1
  272. package/dist/nodes/lime-crm/transport/limetypes.d.ts +0 -6
  273. package/dist/nodes/lime-crm/transport/limetypes.js +0 -54
  274. package/dist/nodes/lime-crm/transport/limetypes.js.map +0 -1
  275. package/dist/nodes/lime-crm/transport/task.d.ts +0 -13
  276. package/dist/nodes/lime-crm/transport/task.js +0 -13
  277. package/dist/nodes/lime-crm/transport/task.js.map +0 -1
  278. package/dist/nodes/lime-crm/transport/webhooks.d.ts +0 -16
  279. package/dist/nodes/lime-crm/transport/webhooks.js +0 -43
  280. package/dist/nodes/lime-crm/transport/webhooks.js.map +0 -1
  281. package/dist/nodes/nodeResponse.d.ts +0 -12
  282. package/dist/nodes/nodeResponse.js +0 -3
  283. package/dist/nodes/nodeResponse.js.map +0 -1
  284. package/dist/package.json +0 -75
  285. package/dist/tsconfig.tsbuildinfo +0 -1
  286. package/docker-compose.yml +0 -52
  287. package/nodes/lime-crm/commons/constants.ts +0 -9
  288. package/nodes/lime-crm/commons/hmac.ts +0 -13
  289. package/nodes/lime-crm/commons/index.ts +0 -10
  290. package/nodes/lime-crm/commons/task.ts +0 -55
  291. package/nodes/lime-crm/commons/webhook.ts +0 -68
  292. package/nodes/lime-crm/methods/getEntitiesForErpSystem.ts +0 -11
  293. package/nodes/lime-crm/model.ts +0 -22
  294. package/nodes/lime-crm/resources/erpConnector/index.ts +0 -43
  295. package/nodes/lime-crm/resources/erpConnector/operations/createOrUpdateObjects.operation.ts +0 -69
  296. package/nodes/lime-crm/resources/erpConnector/operations/transform.operation.ts +0 -274
  297. package/nodes/lime-crm/resources/erpConnector/transform.ts +0 -49
  298. package/nodes/lime-crm/resources/erpConnector/transformers/baseTransformer.ts +0 -18
  299. package/nodes/lime-crm/resources/erpConnector/transformers/fortnox.ts +0 -201
  300. package/nodes/lime-crm/resources/erpConnector/transformers/index.ts +0 -1
  301. package/nodes/lime-crm/transport/erpConnector.ts +0 -21
  302. package/nodes/lime-crm/transport/task.ts +0 -32
  303. package/nodes/nodeResponse.ts +0 -13
  304. package/restore_script/README +0 -42
  305. package/restore_script/api_key_download.txt +0 -0
  306. package/restore_script/api_key_upload.txt +0 -0
  307. package/restore_script/cli.py +0 -73
  308. package/restore_script/download.py +0 -73
  309. package/restore_script/main.py +0 -19
  310. package/restore_script/poetry.lock +0 -162
  311. package/restore_script/pyproject.toml +0 -15
  312. package/restore_script/transfer.py +0 -41
  313. package/restore_script/upload.py +0 -66
  314. package/restore_script/utils.py +0 -42
  315. package/tests/fixtures/fortnox.ts +0 -182
  316. package/tests/transform.spec.ts +0 -187
@@ -0,0 +1,46 @@
1
+ import { APIResponseValue } from './constants';
2
+ import { IncludedProperties } from '../transport';
3
+ import { Limeobject } from './limeobject';
4
+
5
+ /**
6
+ * Available user login types in Lime CRM
7
+ * @public
8
+ * @group Models
9
+ */
10
+ type UserLoginType = 'DEFAULT' | 'LIME' | 'LIME_AND_WINDOWS';
11
+
12
+ /**
13
+ * Available user types in Lime CRM
14
+ * @public
15
+ * @group Models
16
+ */
17
+ type UserType =
18
+ | 'STANDARD'
19
+ | 'ADMINISTRATION'
20
+ | 'SERVICE'
21
+ | 'INTEGRATION'
22
+ | 'SYNCHRONIZATION'
23
+ | 'TEST'
24
+ | 'API';
25
+
26
+ /**
27
+ * Representation of a user returned by the Lime CRM API.
28
+ *
29
+ * @property id - The unique ID of the user
30
+ * @property username - username, most often email address
31
+ * @property active - flag determining whether user is active
32
+ * @property loginType - user login type from Lime CRM
33
+ * @property userType - user type from Lime CRM
34
+ *
35
+ * @public
36
+ * @group Models
37
+ */
38
+ type User = {
39
+ id: number;
40
+ username: string;
41
+ active: boolean;
42
+ loginType: UserLoginType;
43
+ userType: UserType;
44
+ } & Record<string, APIResponseValue | IncludedProperties | Limeobject>;
45
+
46
+ export { User, UserType, UserLoginType };
@@ -0,0 +1,61 @@
1
+ import { IDataObject, IHookFunctions, IWebhookFunctions } from 'n8n-workflow';
2
+
3
+ /**
4
+ * Available webhook execution contexts in n8n.
5
+ *
6
+ * It can be either IHookFunctions or IWebhookFunctions,
7
+ * depending on the lifecycle stage of the node.
8
+ *
9
+ * @internal
10
+ * @group Models
11
+ */
12
+ export type WebhookFunctions = IHookFunctions | IWebhookFunctions;
13
+
14
+ /**
15
+ * Contextual information about a webhook, including its node and workflow details.
16
+ *
17
+ * @property nodeId - The unique identifier of the node
18
+ * @property nodeName - The name of the node (optional)
19
+ * @property workflowId - The unique identifier of the workflow (optional)
20
+ * @property workflowName - The name of the workflow (optional)
21
+ *
22
+ * @public
23
+ * @group Models
24
+ */
25
+ export interface WebhookContext {
26
+ nodeId: string;
27
+ nodeName?: string;
28
+ workflowId?: string;
29
+ workflowName?: string;
30
+ }
31
+
32
+ /**
33
+ * Represent a webhook object.
34
+ *
35
+ * @property data - Arbitrary workflow data associated with this webhook
36
+ * @property events - List of events that this webhook is subscribed to
37
+ * @property url - Optional URL of the webhook
38
+ * @property context - Context about the node and workflow that owns the webhook
39
+ * @property name - Name of the webhook
40
+ *
41
+ * @public
42
+ * @group Models
43
+ */
44
+ export interface Webhook {
45
+ data: IDataObject;
46
+ events: string[];
47
+ url?: string;
48
+ context: WebhookContext;
49
+ name: string;
50
+ }
51
+
52
+ /**
53
+ * Extend {@link Webhook} with an optional secret for secure webhooks.
54
+ *
55
+ * @property secret - Optional secret used to verify webhook requests
56
+ * @public
57
+ * @group Models
58
+ */
59
+ export interface CreateWebhook extends Webhook {
60
+ secret?: string;
61
+ }
@@ -0,0 +1,94 @@
1
+ import {
2
+ INodeExecutionData,
3
+ IExecuteFunctions,
4
+ INodeProperties,
5
+ NodePropertyTypes,
6
+ NodeOperationError,
7
+ } from 'n8n-workflow';
8
+
9
+ import * as operations from './operations';
10
+
11
+ import { ADMIN_RESOURCE, User } from '../../models';
12
+ import { N8NOperationModuleHandler } from '../../../modules';
13
+
14
+ const moduleHandler = new N8NOperationModuleHandler([
15
+ operations.getManyUsers,
16
+ operations.getSingleUser,
17
+ ]);
18
+
19
+ /**
20
+ * Fields and operations for the **Admin** resource in Lime CRM.
21
+ *
22
+ * @remarks
23
+ * - These fields are displayed in the n8n node UI when the resource is set to `Admin`.
24
+ * - Each operation corresponds to a CRUD action.
25
+ *
26
+ * @group Resources
27
+ * @public
28
+ *
29
+ * @see {@link getManyUsers} - Operation to retrieve many Lime CRM users' data
30
+ * @see {@link getSingleUser} - Operation to retrieve a single user from Lime CRM
31
+ */
32
+ export const adminFields: INodeProperties[] = [
33
+ {
34
+ displayName: 'Operation',
35
+ name: 'operation',
36
+ type: 'options' as NodePropertyTypes,
37
+ noDataExpression: true,
38
+ displayOptions: {
39
+ show: {
40
+ resource: [ADMIN_RESOURCE],
41
+ },
42
+ },
43
+ options: moduleHandler.getDescriptions(),
44
+ default: 'getSingleUser',
45
+ },
46
+
47
+ ...moduleHandler.getProperties(),
48
+ ];
49
+
50
+ /**
51
+ * Execute a specific **Admin** operation on Lime CRM objects.
52
+ *
53
+ * @param args - Contextual parameters for the operation being executed
54
+ * @param args.operation - The operation to perform (e.g., `getSingleUser`, `getManyUsers`)
55
+ * @param args.i - The index of the input item to process
56
+ *
57
+ * @returns A promise resolving to the n8n object containing the result of the operation.
58
+ *
59
+ * @throws NodeOperationError if the operation is unsupported or fails.
60
+ *
61
+ * @public
62
+ * @group Resources
63
+ */
64
+ export async function adminOperations(
65
+ this: IExecuteFunctions,
66
+ { operation, i }: { operation: string; i: number }
67
+ ): Promise<INodeExecutionData | INodeExecutionData[]> {
68
+ switch (operation) {
69
+ case 'getManyUsers': {
70
+ const result = await operations.getManyUsers.execute.call(this, i);
71
+ if (Array.isArray(result)) {
72
+ return result.map((item: User) => ({
73
+ json: item,
74
+ }));
75
+ } else {
76
+ return {
77
+ json: result,
78
+ };
79
+ }
80
+ }
81
+ case 'getSingleUser': {
82
+ return {
83
+ json: await operations.getSingleUser.execute.call(this, i),
84
+ };
85
+ }
86
+ }
87
+
88
+ throw new NodeOperationError(
89
+ this.getNode(),
90
+ `The operation "${operation}" is not supported!`
91
+ );
92
+ }
93
+
94
+ export * from './operations';
@@ -0,0 +1,174 @@
1
+ import { IExecuteFunctions, INodeProperties } from 'n8n-workflow';
2
+
3
+ import {
4
+ User,
5
+ UserType,
6
+ ADMIN_RESOURCE,
7
+ NullOptionType,
8
+ DEFAULT_API_OBJECT_LIMIT,
9
+ } from '../../../models';
10
+ import { fetchManyUsers } from '../../../transport';
11
+ import { WorkflowResponse } from '../../../../response';
12
+
13
+ export const description = {
14
+ name: 'Get many users',
15
+ value: 'getManyUsers',
16
+ description: 'Get a list of users in the system',
17
+ action: 'Get many users',
18
+ };
19
+
20
+ /**
21
+ * Node properties for the "Get Many Users" operation.
22
+ *
23
+ * @param {boolean | null} id - Filter only active or inactive users
24
+ * @param {UserType} userType - Filter by User Type
25
+ * @param {number} limit - Set a limit for how many users should the API return
26
+ *
27
+ * @public
28
+ */
29
+ export const properties: INodeProperties[] = [
30
+ {
31
+ displayName: 'Active',
32
+ name: 'active',
33
+ type: 'options',
34
+ description: 'Filter only active or inactive users',
35
+ default: '',
36
+ displayOptions: {
37
+ show: {
38
+ resource: [ADMIN_RESOURCE],
39
+ operation: ['getManyUsers'],
40
+ },
41
+ },
42
+ options: [
43
+ {
44
+ name: '',
45
+ value: '',
46
+ },
47
+ {
48
+ name: 'Active',
49
+ value: true,
50
+ },
51
+ {
52
+ name: 'Inactive',
53
+ value: false,
54
+ },
55
+ ],
56
+ },
57
+ {
58
+ displayName: 'User Type',
59
+ name: 'userType',
60
+ type: 'options',
61
+ description: 'Get only selected user types',
62
+ displayOptions: {
63
+ show: {
64
+ resource: [ADMIN_RESOURCE],
65
+ operation: ['getManyUsers'],
66
+ },
67
+ },
68
+ default: '',
69
+ options: [
70
+ {
71
+ name: '',
72
+ value: '',
73
+ },
74
+ {
75
+ name: 'Standard',
76
+ value: 'STANDARD',
77
+ },
78
+ {
79
+ name: 'Administration',
80
+ value: 'ADMINISTRATION',
81
+ },
82
+ {
83
+ name: 'Service',
84
+ value: 'SERVICE',
85
+ },
86
+ {
87
+ name: 'Integration',
88
+ value: 'INTEGRATION',
89
+ },
90
+ {
91
+ name: 'Synchronization',
92
+ value: 'SYNCHRONIZATION',
93
+ },
94
+ {
95
+ name: 'Test',
96
+ value: 'TEST',
97
+ },
98
+ {
99
+ name: 'API',
100
+ value: 'API',
101
+ },
102
+ ],
103
+ },
104
+ {
105
+ displayName: 'Limit',
106
+ name: 'limit',
107
+ type: 'number',
108
+ default: DEFAULT_API_OBJECT_LIMIT,
109
+ description: 'The maximum number of records to return',
110
+ displayOptions: {
111
+ show: {
112
+ resource: [ADMIN_RESOURCE],
113
+ operation: ['getManyUsers'],
114
+ },
115
+ },
116
+ },
117
+ {
118
+ displayName: 'Include Coworker',
119
+ name: 'withCoworker',
120
+ type: 'boolean',
121
+ default: '',
122
+ description: 'Whether to include coworker data in the response',
123
+ displayOptions: {
124
+ show: {
125
+ resource: [ADMIN_RESOURCE],
126
+ operation: ['getManyUsers'],
127
+ },
128
+ },
129
+ },
130
+ ];
131
+
132
+ /**
133
+ * Execute the "Get Many Users" operation for Lime CRM.
134
+ *
135
+ * @remarks
136
+ * This method retrieves many Lime CRM users with properties, if provided.
137
+ *
138
+ * @param i - The index of the current item in the workflow execution
139
+ *
140
+ * @returns User data.
141
+ *
142
+ * @public
143
+ */
144
+
145
+ export async function execute(
146
+ this: IExecuteFunctions,
147
+ i: number
148
+ ): Promise<WorkflowResponse<User[]>> {
149
+ const active = this.getNodeParameter('active', i) as
150
+ | boolean
151
+ | NullOptionType;
152
+ const userType = this.getNodeParameter('userType', i) as
153
+ | UserType
154
+ | NullOptionType;
155
+ const limit =
156
+ (this.getNodeParameter(
157
+ 'limit',
158
+ i,
159
+ DEFAULT_API_OBJECT_LIMIT
160
+ ) as number) || DEFAULT_API_OBJECT_LIMIT;
161
+ const withCoworker = this.getNodeParameter(
162
+ 'withCoworker',
163
+ i,
164
+ false
165
+ ) as boolean;
166
+ const response = await fetchManyUsers(
167
+ this,
168
+ active,
169
+ userType,
170
+ limit,
171
+ withCoworker
172
+ );
173
+ return response.data;
174
+ }
@@ -0,0 +1,112 @@
1
+ import { IExecuteFunctions, INodeProperties } from 'n8n-workflow';
2
+ import { User, ADMIN_RESOURCE } from '../../../models';
3
+ import {
4
+ fetchSingleUserById,
5
+ fetchSingleUserByLimeobjectId,
6
+ } from '../../../transport';
7
+ import { WorkflowResponse, APIResponse } from '../../../../response';
8
+ import { handleWorkflowError } from '../../../../errorHandling';
9
+
10
+ export const description = {
11
+ name: 'Get single user',
12
+ value: 'getSingleUser',
13
+ description: 'Get a single user data',
14
+ action: 'Get single user',
15
+ };
16
+
17
+ /**
18
+ * Node properties for the "Get Single User" operation.
19
+ *
20
+ * @param {string} id - The ID of the user to retrieve
21
+ *
22
+ * @public
23
+ */
24
+ export const properties: INodeProperties[] = [
25
+ {
26
+ displayName: 'Get by',
27
+ name: 'source',
28
+ type: 'options',
29
+ required: true,
30
+ placeholder: 'Add Source',
31
+ displayOptions: {
32
+ show: {
33
+ resource: [ADMIN_RESOURCE],
34
+ operation: ['getSingleUser'],
35
+ },
36
+ },
37
+ options: [
38
+ {
39
+ name: 'User ID',
40
+ value: 'byUser',
41
+ description: 'Get user by its ID',
42
+ },
43
+ {
44
+ name: 'Limeobject ID',
45
+ value: 'byLimeobject',
46
+ description: "Get user by it's related Limeobject ID",
47
+ },
48
+ ],
49
+ default: 'byUser',
50
+ },
51
+ {
52
+ displayName: 'Identifier',
53
+ name: 'identifier',
54
+ type: 'string',
55
+ required: true,
56
+ default: '',
57
+ description: 'The ID of the user or Limeobject to retrieve',
58
+ displayOptions: {
59
+ show: {
60
+ resource: [ADMIN_RESOURCE],
61
+ operation: ['getSingleUser'],
62
+ },
63
+ },
64
+ },
65
+ {
66
+ displayName: 'Include Coworker',
67
+ name: 'withCoworker',
68
+ type: 'boolean',
69
+ default: '',
70
+ description: 'Whether to include coworker data in the response',
71
+ displayOptions: {
72
+ show: {
73
+ resource: [ADMIN_RESOURCE],
74
+ operation: ['getSingleUser'],
75
+ },
76
+ },
77
+ },
78
+ ];
79
+ /**
80
+ * Execute the "Get Single Object" operation for Lime CRM.
81
+ *
82
+ * @remarks
83
+ * This method retrieves a single Lime CRM user identified by its ID.
84
+ *
85
+ * @param i - The index of the current item in the workflow execution
86
+ *
87
+ * @returns User data.
88
+ *
89
+ * @public
90
+ */
91
+ export async function execute(
92
+ this: IExecuteFunctions,
93
+ i: number
94
+ ): Promise<WorkflowResponse<User>> {
95
+ const source = this.getNodeParameter('source', i) as string;
96
+ const id = this.getNodeParameter('identifier', i) as string;
97
+ const withCoworker = this.getNodeParameter('withCoworker', i) as boolean;
98
+
99
+ let response: APIResponse<User>;
100
+
101
+ if (source == 'byUser') {
102
+ response = await fetchSingleUserById(this, id, withCoworker);
103
+ } else if (source == 'byLimeobject') {
104
+ response = await fetchSingleUserByLimeobjectId(this, id, withCoworker);
105
+ } else {
106
+ response = handleWorkflowError(this, {
107
+ message: `The source ${source} is not supported!`,
108
+ });
109
+ }
110
+
111
+ return response.data;
112
+ }
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @group Resources
3
+ */
4
+ export * as getManyUsers from './getManyUsers.operation';
5
+ /**
6
+ * @group Resources
7
+ */
8
+ export * as getSingleUser from './getSingleUser.operation';
@@ -6,15 +6,40 @@ import {
6
6
  NodeOperationError,
7
7
  } from 'n8n-workflow';
8
8
 
9
- import * as createSingleObject from './operations/createSingleObject';
10
- import * as getSingleObject from './operations/getSingleObject';
11
- import * as updateSingleObject from './operations/updateSingleObject.operation';
12
- import * as deleteSingleObject from './operations/deleteSingleObject';
13
- import * as getManyObjects from './operations/getManyObjects';
14
- import * as getSingleFile from './operations/getSingleFile';
9
+ import * as operations from './operations';
15
10
 
16
- import { DATA_RESOURCE } from '../../commons';
11
+ import { DATA_RESOURCE } from '../../models';
12
+ import { N8NOperationModuleHandler } from '../../../modules';
17
13
 
14
+ /**
15
+ * List of modules consisting data operations
16
+ */
17
+ const moduleHandler = new N8NOperationModuleHandler([
18
+ operations.createSingleObject,
19
+ operations.getSingleObject,
20
+ operations.updateSingleObject,
21
+ operations.deleteSingleObject,
22
+ operations.getManyObjects,
23
+ operations.getSingleFile,
24
+ ]);
25
+
26
+ /**
27
+ * Fields and operations for the **Data** resource in Lime CRM.
28
+ *
29
+ * @remarks
30
+ * - These fields are displayed in the n8n node UI when the resource is set to `Data`.
31
+ * - Each operation corresponds to a CRUD action or a file retrieval for Lime objects.
32
+ *
33
+ * @group Resources
34
+ * @public
35
+ *
36
+ * @see {@link createSingleObject} - Operation to create a single Limeobject
37
+ * @see {@link getSingleObject} - Operation to retrieve a single Limeobject by ID
38
+ * @see {@link updateSingleObject} - Operation to update a single Limeobject by ID
39
+ * @see {@link deleteSingleObject} - Operation to delete a single Limeobject by ID
40
+ * @see {@link getManyObjects} - Operation to fetch multiple Limeobjects based on search criteria
41
+ * @see {@link getSingleFile} - Operation to retrieve a single from Lime CRM
42
+ */
18
43
  export const dataFields: INodeProperties[] = [
19
44
  {
20
45
  displayName: 'Operation',
@@ -26,50 +51,69 @@ export const dataFields: INodeProperties[] = [
26
51
  resource: [DATA_RESOURCE],
27
52
  },
28
53
  },
29
- options: [
30
- createSingleObject.description,
31
- getSingleObject.description,
32
- updateSingleObject.description,
33
- deleteSingleObject.description,
34
- getManyObjects.description,
35
- getSingleFile.description,
36
- ],
54
+ options: moduleHandler.getDescriptions(),
37
55
  default: 'fetchMany',
38
56
  },
39
57
 
40
- ...createSingleObject.properties,
41
- ...getSingleObject.properties,
42
- ...updateSingleObject.properties,
43
- ...deleteSingleObject.properties,
44
- ...getSingleFile.properties,
45
- ...getManyObjects.properties,
58
+ ...moduleHandler.getProperties(),
46
59
  ];
47
60
 
61
+ /**
62
+ * Execute a specific **Data** operation on Lime CRM objects.
63
+ *
64
+ * @param args - Contextual parameters for the operation being executed
65
+ * @param args.operation - The operation to perform (e.g., `createSingleObject`, `getManyObjects`)
66
+ * @param args.i - The index of the input item to process
67
+ *
68
+ * @returns A promise resolving to the n8n object containing the result of the operation.
69
+ *
70
+ * @throws NodeOperationError if the operation is unsupported or fails.
71
+ *
72
+ * @public
73
+ * @group Resources
74
+ */
48
75
  export async function dataOperations(
49
76
  this: IExecuteFunctions,
50
77
  { operation, i }: { operation: string; i: number }
51
- ): Promise<INodeExecutionData> {
78
+ ): Promise<INodeExecutionData | INodeExecutionData[]> {
52
79
  switch (operation) {
53
80
  case 'createSingleObject': {
54
- return { json: await createSingleObject.execute.call(this, i) };
81
+ return {
82
+ json: await operations.createSingleObject.execute.call(this, i),
83
+ };
55
84
  }
56
85
  case 'getSingleObject': {
57
- return await getSingleObject.execute.call(this, i);
86
+ return await operations.getSingleObject.execute.call(this, i);
58
87
  }
59
88
  case 'updateSingleObject': {
60
- return { json: await updateSingleObject.execute.call(this, i) };
89
+ return {
90
+ ...(await operations.updateSingleObject.execute.call(this, i)),
91
+ };
61
92
  }
62
93
  case 'deleteSingleObject': {
63
- await deleteSingleObject.execute.call(this, i);
64
- return { json: { success: true } };
94
+ const response = await operations.deleteSingleObject.execute.call(
95
+ this,
96
+ i
97
+ );
98
+ return { json: response };
65
99
  }
66
100
  case 'getManyObjects': {
67
- return {
68
- json: await getManyObjects.execute.call(this, i),
69
- };
101
+ const result = await operations.getManyObjects.execute.call(
102
+ this,
103
+ i
104
+ );
105
+ if (Array.isArray(result)) {
106
+ return result.map((item) => ({
107
+ json: item,
108
+ }));
109
+ } else {
110
+ return {
111
+ json: result,
112
+ };
113
+ }
70
114
  }
71
115
  case 'getSingleFile': {
72
- return await getSingleFile.execute.call(this, i);
116
+ return await operations.getSingleFile.execute.call(this, i);
73
117
  }
74
118
  }
75
119
 
@@ -78,3 +122,5 @@ export async function dataOperations(
78
122
  `The operation "${operation}" is not supported!`
79
123
  );
80
124
  }
125
+
126
+ export * from './operations';