n8n-nodes-hudu 1.4.3 → 1.4.5

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 (306) hide show
  1. package/README.md +18 -53
  2. package/dist/credentials/HuduApi.credentials.js +45 -45
  3. package/dist/index.js +13 -13
  4. package/dist/nodes/Hudu/Hudu.node.js +338 -325
  5. package/dist/nodes/Hudu/Hudu.node.js.map +1 -1
  6. package/dist/nodes/Hudu/Hudu.node.json +1 -1
  7. package/dist/nodes/Hudu/Hudu.node.ts +448 -442
  8. package/dist/nodes/Hudu/descriptions/activity_logs.description.js +170 -170
  9. package/dist/nodes/Hudu/descriptions/api_info.description.js +26 -26
  10. package/dist/nodes/Hudu/descriptions/articles.description.js +701 -675
  11. package/dist/nodes/Hudu/descriptions/articles.description.js.map +1 -1
  12. package/dist/nodes/Hudu/descriptions/articles.description.ts +45 -15
  13. package/dist/nodes/Hudu/descriptions/asset_layout_fields.description.js +442 -442
  14. package/dist/nodes/Hudu/descriptions/asset_layout_fields.description.js.map +1 -1
  15. package/dist/nodes/Hudu/descriptions/asset_layout_fields.description.ts +2 -2
  16. package/dist/nodes/Hudu/descriptions/asset_layouts.description.js +589 -596
  17. package/dist/nodes/Hudu/descriptions/asset_layouts.description.js.map +1 -1
  18. package/dist/nodes/Hudu/descriptions/asset_layouts.description.ts +1 -7
  19. package/dist/nodes/Hudu/descriptions/asset_passwords.description.js +589 -589
  20. package/dist/nodes/Hudu/descriptions/asset_passwords.description.js.map +1 -1
  21. package/dist/nodes/Hudu/descriptions/asset_passwords.description.ts +2 -2
  22. package/dist/nodes/Hudu/descriptions/assets.description.js +565 -565
  23. package/dist/nodes/Hudu/descriptions/cards.description.js +181 -181
  24. package/dist/nodes/Hudu/descriptions/companies.description.js +667 -667
  25. package/dist/nodes/Hudu/descriptions/companies.description.js.map +1 -1
  26. package/dist/nodes/Hudu/descriptions/companies.description.ts +2 -2
  27. package/dist/nodes/Hudu/descriptions/expirations.description.js +137 -137
  28. package/dist/nodes/Hudu/descriptions/folders.description.js +305 -305
  29. package/dist/nodes/Hudu/descriptions/folders.description.js.map +1 -1
  30. package/dist/nodes/Hudu/descriptions/folders.description.ts +2 -2
  31. package/dist/nodes/Hudu/descriptions/groups.description.js +114 -0
  32. package/dist/nodes/Hudu/descriptions/groups.description.js.map +1 -0
  33. package/dist/nodes/Hudu/descriptions/groups.description.ts +115 -0
  34. package/dist/nodes/Hudu/descriptions/index.js +46 -45
  35. package/dist/nodes/Hudu/descriptions/index.js.map +1 -1
  36. package/dist/nodes/Hudu/descriptions/index.ts +1 -0
  37. package/dist/nodes/Hudu/descriptions/ip_addresses.description.js +743 -743
  38. package/dist/nodes/Hudu/descriptions/ip_addresses.description.js.map +1 -1
  39. package/dist/nodes/Hudu/descriptions/ip_addresses.description.ts +20 -19
  40. package/dist/nodes/Hudu/descriptions/list_options.description.js +90 -90
  41. package/dist/nodes/Hudu/descriptions/lists.description.js +156 -156
  42. package/dist/nodes/Hudu/descriptions/magic_dash.description.js +252 -252
  43. package/dist/nodes/Hudu/descriptions/magic_dash.description.js.map +1 -1
  44. package/dist/nodes/Hudu/descriptions/magic_dash.description.ts +270 -270
  45. package/dist/nodes/Hudu/descriptions/matchers.description.js +202 -202
  46. package/dist/nodes/Hudu/descriptions/matchers.description.js.map +1 -1
  47. package/dist/nodes/Hudu/descriptions/matchers.description.ts +2 -2
  48. package/dist/nodes/Hudu/descriptions/networks.description.js +759 -759
  49. package/dist/nodes/Hudu/descriptions/networks.description.js.map +1 -1
  50. package/dist/nodes/Hudu/descriptions/networks.description.ts +17 -17
  51. package/dist/nodes/Hudu/descriptions/passwordFolders.descriptions.js +297 -119
  52. package/dist/nodes/Hudu/descriptions/passwordFolders.descriptions.js.map +1 -1
  53. package/dist/nodes/Hudu/descriptions/passwordFolders.descriptions.ts +183 -2
  54. package/dist/nodes/Hudu/descriptions/procedure_tasks.description.js +378 -378
  55. package/dist/nodes/Hudu/descriptions/procedure_tasks.description.js.map +1 -1
  56. package/dist/nodes/Hudu/descriptions/procedure_tasks.description.ts +2 -2
  57. package/dist/nodes/Hudu/descriptions/procedures.description.js +471 -471
  58. package/dist/nodes/Hudu/descriptions/procedures.description.js.map +1 -1
  59. package/dist/nodes/Hudu/descriptions/procedures.description.ts +2 -2
  60. package/dist/nodes/Hudu/descriptions/public_photos.description.js +214 -214
  61. package/dist/nodes/Hudu/descriptions/rack_storage_items.description.js +334 -334
  62. package/dist/nodes/Hudu/descriptions/rack_storage_items.description.js.map +1 -1
  63. package/dist/nodes/Hudu/descriptions/rack_storage_items.description.ts +2 -2
  64. package/dist/nodes/Hudu/descriptions/rack_storages.description.js +609 -609
  65. package/dist/nodes/Hudu/descriptions/rack_storages.description.js.map +1 -1
  66. package/dist/nodes/Hudu/descriptions/rack_storages.description.ts +2 -2
  67. package/dist/nodes/Hudu/descriptions/relations.description.js +226 -226
  68. package/dist/nodes/Hudu/descriptions/resources.js +133 -129
  69. package/dist/nodes/Hudu/descriptions/resources.js.map +1 -1
  70. package/dist/nodes/Hudu/descriptions/resources.ts +8 -4
  71. package/dist/nodes/Hudu/descriptions/uploads.description.js +84 -84
  72. package/dist/nodes/Hudu/descriptions/users.description.js +179 -179
  73. package/dist/nodes/Hudu/descriptions/vlan_zones.description.js +278 -278
  74. package/dist/nodes/Hudu/descriptions/vlan_zones.description.js.map +1 -1
  75. package/dist/nodes/Hudu/descriptions/vlan_zones.description.ts +2 -2
  76. package/dist/nodes/Hudu/descriptions/vlans.description.js +348 -324
  77. package/dist/nodes/Hudu/descriptions/vlans.description.js.map +1 -1
  78. package/dist/nodes/Hudu/descriptions/vlans.description.ts +50 -26
  79. package/dist/nodes/Hudu/descriptions/websites.description.js +865 -865
  80. package/dist/nodes/Hudu/descriptions/websites.description.js.map +1 -1
  81. package/dist/nodes/Hudu/descriptions/websites.description.ts +10 -10
  82. package/dist/nodes/Hudu/optionLoaders/asset_layouts/getAssetLayoutFieldValues.js +65 -66
  83. package/dist/nodes/Hudu/optionLoaders/asset_layouts/getAssetLayoutFieldValues.js.map +1 -1
  84. package/dist/nodes/Hudu/optionLoaders/asset_layouts/getAssetLayoutFieldValues.ts +1 -1
  85. package/dist/nodes/Hudu/optionLoaders/asset_layouts/getAssetLayoutFields.js +229 -227
  86. package/dist/nodes/Hudu/optionLoaders/asset_layouts/getAssetLayoutFields.js.map +1 -1
  87. package/dist/nodes/Hudu/optionLoaders/asset_layouts/getAssetLayoutFields.ts +3 -0
  88. package/dist/nodes/Hudu/optionLoaders/asset_layouts/getAssetLayouts.js +40 -41
  89. package/dist/nodes/Hudu/optionLoaders/asset_layouts/getAssetLayouts.js.map +1 -1
  90. package/dist/nodes/Hudu/optionLoaders/asset_layouts/getCustomFieldsLayoutFields.js +54 -55
  91. package/dist/nodes/Hudu/optionLoaders/asset_layouts/getCustomFieldsLayoutFields.js.map +1 -1
  92. package/dist/nodes/Hudu/optionLoaders/asset_layouts/getCustomFieldsLayoutFields.ts +1 -1
  93. package/dist/nodes/Hudu/optionLoaders/asset_layouts/index.js +20 -20
  94. package/dist/nodes/Hudu/optionLoaders/assets/index.js +1 -18
  95. package/dist/nodes/Hudu/optionLoaders/assets/index.js.map +1 -1
  96. package/dist/nodes/Hudu/optionLoaders/assets/index.ts +1 -2
  97. package/dist/nodes/Hudu/optionLoaders/companies/getCompanies.js +32 -33
  98. package/dist/nodes/Hudu/optionLoaders/companies/getCompanies.js.map +1 -1
  99. package/dist/nodes/Hudu/optionLoaders/companies/index.js +17 -17
  100. package/dist/nodes/Hudu/optionLoaders/groups/index.js +18 -0
  101. package/dist/nodes/Hudu/optionLoaders/groups/index.js.map +1 -0
  102. package/dist/nodes/Hudu/optionLoaders/groups/index.ts +3 -0
  103. package/dist/nodes/Hudu/optionLoaders/groups/loadGroups.js +24 -0
  104. package/dist/nodes/Hudu/optionLoaders/groups/loadGroups.js.map +1 -0
  105. package/dist/nodes/Hudu/optionLoaders/groups/loadGroups.ts +43 -0
  106. package/dist/nodes/Hudu/optionLoaders/index.js +22 -20
  107. package/dist/nodes/Hudu/optionLoaders/index.js.map +1 -1
  108. package/dist/nodes/Hudu/optionLoaders/index.ts +3 -0
  109. package/dist/nodes/Hudu/optionLoaders/lists/getLists.js +29 -30
  110. package/dist/nodes/Hudu/optionLoaders/lists/getLists.js.map +1 -1
  111. package/dist/nodes/Hudu/optionLoaders/lists/index.js +17 -17
  112. package/dist/nodes/Hudu/optionLoaders/users/getUsers.js +38 -39
  113. package/dist/nodes/Hudu/optionLoaders/users/getUsers.js.map +1 -1
  114. package/dist/nodes/Hudu/optionLoaders/users/index.js +17 -17
  115. package/dist/nodes/Hudu/optionLoaders/vlan_zones/index.js +18 -0
  116. package/dist/nodes/Hudu/optionLoaders/vlan_zones/index.js.map +1 -0
  117. package/dist/nodes/Hudu/optionLoaders/vlan_zones/index.ts +3 -0
  118. package/dist/nodes/Hudu/optionLoaders/vlan_zones/loadVlanZones.js +18 -0
  119. package/dist/nodes/Hudu/optionLoaders/vlan_zones/loadVlanZones.js.map +1 -0
  120. package/dist/nodes/Hudu/optionLoaders/vlan_zones/loadVlanZones.ts +30 -0
  121. package/dist/nodes/Hudu/resources/activity_logs/activity_logs.handler.js +17 -18
  122. package/dist/nodes/Hudu/resources/activity_logs/activity_logs.handler.js.map +1 -1
  123. package/dist/nodes/Hudu/resources/activity_logs/activity_logs.types.js +2 -2
  124. package/dist/nodes/Hudu/resources/api_info/api_info.handler.js +14 -15
  125. package/dist/nodes/Hudu/resources/api_info/api_info.handler.js.map +1 -1
  126. package/dist/nodes/Hudu/resources/api_info/api_info.types.js +2 -2
  127. package/dist/nodes/Hudu/resources/articles/articles.handler.js +214 -206
  128. package/dist/nodes/Hudu/resources/articles/articles.handler.js.map +1 -1
  129. package/dist/nodes/Hudu/resources/articles/articles.handler.ts +18 -1
  130. package/dist/nodes/Hudu/resources/articles/articles.types.js +8 -8
  131. package/dist/nodes/Hudu/resources/asset_layout_fields/asset_layout_fields.handler.js +100 -101
  132. package/dist/nodes/Hudu/resources/asset_layout_fields/asset_layout_fields.handler.js.map +1 -1
  133. package/dist/nodes/Hudu/resources/asset_layout_fields/asset_layout_fields.handler.ts +2 -2
  134. package/dist/nodes/Hudu/resources/asset_layout_fields/asset_layout_fields.types.js +2 -2
  135. package/dist/nodes/Hudu/resources/asset_layouts/asset_layouts.handler.js +92 -93
  136. package/dist/nodes/Hudu/resources/asset_layouts/asset_layouts.handler.js.map +1 -1
  137. package/dist/nodes/Hudu/resources/asset_layouts/asset_layouts.handler.ts +1 -1
  138. package/dist/nodes/Hudu/resources/asset_layouts/asset_layouts.types.js +2 -2
  139. package/dist/nodes/Hudu/resources/asset_passwords/asset_passwords.handler.js +106 -107
  140. package/dist/nodes/Hudu/resources/asset_passwords/asset_passwords.handler.js.map +1 -1
  141. package/dist/nodes/Hudu/resources/asset_passwords/asset_passwords.handler.ts +2 -2
  142. package/dist/nodes/Hudu/resources/asset_passwords/asset_passwords.types.js +2 -2
  143. package/dist/nodes/Hudu/resources/assets/assets.handler.js +227 -227
  144. package/dist/nodes/Hudu/resources/assets/assets.handler.js.map +1 -1
  145. package/dist/nodes/Hudu/resources/assets/assets.handler.ts +6 -5
  146. package/dist/nodes/Hudu/resources/assets/assets.types.js +2 -2
  147. package/dist/nodes/Hudu/resources/cards/cards.handler.js +21 -22
  148. package/dist/nodes/Hudu/resources/cards/cards.handler.js.map +1 -1
  149. package/dist/nodes/Hudu/resources/cards/cards.types.js +2 -2
  150. package/dist/nodes/Hudu/resources/companies/companies.handler.js +94 -95
  151. package/dist/nodes/Hudu/resources/companies/companies.handler.js.map +1 -1
  152. package/dist/nodes/Hudu/resources/companies/companies.handler.ts +2 -2
  153. package/dist/nodes/Hudu/resources/companies/companies.types.js +2 -2
  154. package/dist/nodes/Hudu/resources/expirations/expirations.handler.js +19 -20
  155. package/dist/nodes/Hudu/resources/expirations/expirations.handler.js.map +1 -1
  156. package/dist/nodes/Hudu/resources/expirations/expirations.types.js +2 -2
  157. package/dist/nodes/Hudu/resources/folders/folders.handler.js +91 -92
  158. package/dist/nodes/Hudu/resources/folders/folders.handler.js.map +1 -1
  159. package/dist/nodes/Hudu/resources/folders/folders.handler.ts +3 -3
  160. package/dist/nodes/Hudu/resources/folders/folders.types.js +13 -13
  161. package/dist/nodes/Hudu/resources/groups/groups.handler.js +26 -0
  162. package/dist/nodes/Hudu/resources/groups/groups.handler.js.map +1 -0
  163. package/dist/nodes/Hudu/resources/groups/groups.handler.ts +44 -0
  164. package/dist/nodes/Hudu/resources/groups/groups.types.js +3 -0
  165. package/dist/nodes/Hudu/resources/groups/groups.types.js.map +1 -0
  166. package/dist/nodes/Hudu/resources/groups/groups.types.ts +18 -0
  167. package/dist/nodes/Hudu/resources/index.js +76 -74
  168. package/dist/nodes/Hudu/resources/index.js.map +1 -1
  169. package/dist/nodes/Hudu/resources/index.ts +2 -0
  170. package/dist/nodes/Hudu/resources/ip_addresses/ip_addresses.handler.js +131 -100
  171. package/dist/nodes/Hudu/resources/ip_addresses/ip_addresses.handler.js.map +1 -1
  172. package/dist/nodes/Hudu/resources/ip_addresses/ip_addresses.handler.ts +41 -4
  173. package/dist/nodes/Hudu/resources/ip_addresses/ip_addresses.types.js +2 -2
  174. package/dist/nodes/Hudu/resources/list_options/list_options.handler.js +218 -219
  175. package/dist/nodes/Hudu/resources/list_options/list_options.handler.js.map +1 -1
  176. package/dist/nodes/Hudu/resources/list_options/list_options.handler.ts +1 -0
  177. package/dist/nodes/Hudu/resources/list_options/list_options.types.js +2 -2
  178. package/dist/nodes/Hudu/resources/lists/lists.handler.js +65 -66
  179. package/dist/nodes/Hudu/resources/lists/lists.handler.js.map +1 -1
  180. package/dist/nodes/Hudu/resources/lists/lists.handler.ts +1 -0
  181. package/dist/nodes/Hudu/resources/lists/lists.types.js +2 -2
  182. package/dist/nodes/Hudu/resources/magic_dash/magic_dash.handler.js +56 -57
  183. package/dist/nodes/Hudu/resources/magic_dash/magic_dash.handler.js.map +1 -1
  184. package/dist/nodes/Hudu/resources/magic_dash/magic_dash.handler.ts +85 -85
  185. package/dist/nodes/Hudu/resources/magic_dash/magic_dash.types.js +2 -2
  186. package/dist/nodes/Hudu/resources/matchers/matchers.handler.js +45 -46
  187. package/dist/nodes/Hudu/resources/matchers/matchers.handler.js.map +1 -1
  188. package/dist/nodes/Hudu/resources/matchers/matchers.handler.ts +1 -1
  189. package/dist/nodes/Hudu/resources/matchers/matchers.types.js +2 -2
  190. package/dist/nodes/Hudu/resources/networks/networks.handler.js +117 -106
  191. package/dist/nodes/Hudu/resources/networks/networks.handler.js.map +1 -1
  192. package/dist/nodes/Hudu/resources/networks/networks.handler.ts +12 -4
  193. package/dist/nodes/Hudu/resources/networks/networks.types.js +2 -2
  194. package/dist/nodes/Hudu/resources/password_folders/password_folders.handler.js +100 -28
  195. package/dist/nodes/Hudu/resources/password_folders/password_folders.handler.js.map +1 -1
  196. package/dist/nodes/Hudu/resources/password_folders/password_folders.handler.ts +90 -2
  197. package/dist/nodes/Hudu/resources/password_folders/password_folders.types.js +2 -2
  198. package/dist/nodes/Hudu/resources/password_folders/password_folders.types.ts +3 -1
  199. package/dist/nodes/Hudu/resources/procedure_tasks/procedure_tasks.handler.js +52 -53
  200. package/dist/nodes/Hudu/resources/procedure_tasks/procedure_tasks.handler.js.map +1 -1
  201. package/dist/nodes/Hudu/resources/procedure_tasks/procedure_tasks.handler.ts +2 -2
  202. package/dist/nodes/Hudu/resources/procedure_tasks/procedure_tasks.types.js +2 -2
  203. package/dist/nodes/Hudu/resources/procedures/procedures.handler.js +116 -117
  204. package/dist/nodes/Hudu/resources/procedures/procedures.handler.js.map +1 -1
  205. package/dist/nodes/Hudu/resources/procedures/procedures.handler.ts +2 -2
  206. package/dist/nodes/Hudu/resources/procedures/procedures.types.js +2 -2
  207. package/dist/nodes/Hudu/resources/public_photos/public_photos.handler.js +93 -94
  208. package/dist/nodes/Hudu/resources/public_photos/public_photos.handler.js.map +1 -1
  209. package/dist/nodes/Hudu/resources/public_photos/public_photos.types.js +2 -2
  210. package/dist/nodes/Hudu/resources/rack_storage_items/rack_storage_items.handler.js +48 -49
  211. package/dist/nodes/Hudu/resources/rack_storage_items/rack_storage_items.handler.js.map +1 -1
  212. package/dist/nodes/Hudu/resources/rack_storage_items/rack_storage_items.handler.ts +2 -2
  213. package/dist/nodes/Hudu/resources/rack_storage_items/rack_storage_items.types.js +2 -2
  214. package/dist/nodes/Hudu/resources/rack_storages/rack_storages.handler.js +91 -92
  215. package/dist/nodes/Hudu/resources/rack_storages/rack_storages.handler.js.map +1 -1
  216. package/dist/nodes/Hudu/resources/rack_storages/rack_storages.handler.ts +2 -2
  217. package/dist/nodes/Hudu/resources/rack_storages/rack_storages.types.js +2 -2
  218. package/dist/nodes/Hudu/resources/relations/relations.handler.js +35 -36
  219. package/dist/nodes/Hudu/resources/relations/relations.handler.js.map +1 -1
  220. package/dist/nodes/Hudu/resources/relations/relations.types.js +24 -24
  221. package/dist/nodes/Hudu/resources/uploads/uploads.handler.js +31 -32
  222. package/dist/nodes/Hudu/resources/uploads/uploads.handler.js.map +1 -1
  223. package/dist/nodes/Hudu/resources/uploads/uploads.types.js +2 -2
  224. package/dist/nodes/Hudu/resources/users/users.handler.js +21 -22
  225. package/dist/nodes/Hudu/resources/users/users.handler.js.map +1 -1
  226. package/dist/nodes/Hudu/resources/users/users.handler.ts +1 -1
  227. package/dist/nodes/Hudu/resources/users/users.types.js +2 -2
  228. package/dist/nodes/Hudu/resources/vlan_zones/vlan_zones.handler.js +152 -153
  229. package/dist/nodes/Hudu/resources/vlan_zones/vlan_zones.handler.js.map +1 -1
  230. package/dist/nodes/Hudu/resources/vlan_zones/vlan_zones.handler.ts +2 -2
  231. package/dist/nodes/Hudu/resources/vlan_zones/vlan_zones.types.js +2 -2
  232. package/dist/nodes/Hudu/resources/vlans/vlans.handler.js +152 -153
  233. package/dist/nodes/Hudu/resources/vlans/vlans.handler.js.map +1 -1
  234. package/dist/nodes/Hudu/resources/vlans/vlans.handler.ts +2 -2
  235. package/dist/nodes/Hudu/resources/vlans/vlans.types.js +2 -2
  236. package/dist/nodes/Hudu/resources/websites/websites.handler.js +119 -120
  237. package/dist/nodes/Hudu/resources/websites/websites.handler.js.map +1 -1
  238. package/dist/nodes/Hudu/resources/websites/websites.handler.ts +2 -2
  239. package/dist/nodes/Hudu/resources/websites/websites.types.js +2 -2
  240. package/dist/nodes/Hudu/utils/assetFieldUtils.js +328 -272
  241. package/dist/nodes/Hudu/utils/assetFieldUtils.js.map +1 -1
  242. package/dist/nodes/Hudu/utils/assetFieldUtils.ts +94 -30
  243. package/dist/nodes/Hudu/utils/constants.js +186 -185
  244. package/dist/nodes/Hudu/utils/constants.js.map +1 -1
  245. package/dist/nodes/Hudu/utils/constants.ts +1 -0
  246. package/dist/nodes/Hudu/utils/dateUtils.js +137 -138
  247. package/dist/nodes/Hudu/utils/dateUtils.js.map +1 -1
  248. package/dist/nodes/Hudu/utils/debugConfig.js +170 -170
  249. package/dist/nodes/Hudu/utils/debugConfig.js.map +1 -1
  250. package/dist/nodes/Hudu/utils/debugConfig.ts +3 -3
  251. package/dist/nodes/Hudu/utils/errorParser.js +55 -56
  252. package/dist/nodes/Hudu/utils/errorParser.js.map +1 -1
  253. package/dist/nodes/Hudu/utils/fieldErrorUtils.js +15 -16
  254. package/dist/nodes/Hudu/utils/fieldErrorUtils.js.map +1 -1
  255. package/dist/nodes/Hudu/utils/fieldTypeUtils.js +143 -144
  256. package/dist/nodes/Hudu/utils/fieldTypeUtils.js.map +1 -1
  257. package/dist/nodes/Hudu/utils/filterUtils.js +52 -53
  258. package/dist/nodes/Hudu/utils/filterUtils.js.map +1 -1
  259. package/dist/nodes/Hudu/utils/formatters.js +37 -38
  260. package/dist/nodes/Hudu/utils/formatters.js.map +1 -1
  261. package/dist/nodes/Hudu/utils/index.js +24 -24
  262. package/dist/nodes/Hudu/utils/markdownUtils.js +81 -0
  263. package/dist/nodes/Hudu/utils/markdownUtils.js.map +1 -0
  264. package/dist/nodes/Hudu/utils/markdownUtils.ts +119 -0
  265. package/dist/nodes/Hudu/utils/operations/archive.js +23 -24
  266. package/dist/nodes/Hudu/utils/operations/archive.js.map +1 -1
  267. package/dist/nodes/Hudu/utils/operations/cards.js +21 -22
  268. package/dist/nodes/Hudu/utils/operations/cards.js.map +1 -1
  269. package/dist/nodes/Hudu/utils/operations/companies.js +16 -17
  270. package/dist/nodes/Hudu/utils/operations/companies.js.map +1 -1
  271. package/dist/nodes/Hudu/utils/operations/create.js +18 -19
  272. package/dist/nodes/Hudu/utils/operations/create.js.map +1 -1
  273. package/dist/nodes/Hudu/utils/operations/delete.js +22 -23
  274. package/dist/nodes/Hudu/utils/operations/delete.js.map +1 -1
  275. package/dist/nodes/Hudu/utils/operations/get.js +21 -19
  276. package/dist/nodes/Hudu/utils/operations/get.js.map +1 -1
  277. package/dist/nodes/Hudu/utils/operations/get.ts +9 -0
  278. package/dist/nodes/Hudu/utils/operations/getAll.js +26 -27
  279. package/dist/nodes/Hudu/utils/operations/getAll.js.map +1 -1
  280. package/dist/nodes/Hudu/utils/operations/getCompanyIdForAsset.js +21 -22
  281. package/dist/nodes/Hudu/utils/operations/getCompanyIdForAsset.js.map +1 -1
  282. package/dist/nodes/Hudu/utils/operations/index.js +23 -23
  283. package/dist/nodes/Hudu/utils/operations/magic_dash.js +45 -46
  284. package/dist/nodes/Hudu/utils/operations/magic_dash.js.map +1 -1
  285. package/dist/nodes/Hudu/utils/operations/magic_dash.ts +68 -68
  286. package/dist/nodes/Hudu/utils/operations/matchers.js +22 -23
  287. package/dist/nodes/Hudu/utils/operations/matchers.js.map +1 -1
  288. package/dist/nodes/Hudu/utils/operations/procedures.js +26 -27
  289. package/dist/nodes/Hudu/utils/operations/procedures.js.map +1 -1
  290. package/dist/nodes/Hudu/utils/operations/systemInfo.js +7 -8
  291. package/dist/nodes/Hudu/utils/operations/systemInfo.js.map +1 -1
  292. package/dist/nodes/Hudu/utils/operations/update.js +19 -20
  293. package/dist/nodes/Hudu/utils/operations/update.js.map +1 -1
  294. package/dist/nodes/Hudu/utils/requestUtils.js +328 -308
  295. package/dist/nodes/Hudu/utils/requestUtils.js.map +1 -1
  296. package/dist/nodes/Hudu/utils/requestUtils.ts +518 -491
  297. package/dist/nodes/Hudu/utils/types.js +2 -2
  298. package/dist/nodes/Hudu/utils/validation.js +22 -23
  299. package/dist/nodes/Hudu/utils/validation.js.map +1 -1
  300. package/package.json +4 -4
  301. package/dist/nodes/Hudu/optionLoaders/assets/getAssets.js +0 -84
  302. package/dist/nodes/Hudu/optionLoaders/assets/getAssets.js.map +0 -1
  303. package/dist/nodes/Hudu/optionLoaders/assets/getAssets.ts +0 -136
  304. package/dist/nodes/Hudu/optionLoaders/assets/getAssetsForCompany.js +0 -45
  305. package/dist/nodes/Hudu/optionLoaders/assets/getAssetsForCompany.js.map +0 -1
  306. package/dist/nodes/Hudu/optionLoaders/assets/getAssetsForCompany.ts +0 -59
@@ -1,443 +1,449 @@
1
- /* eslint-disable n8n-nodes-base/node-class-description-inputs-wrong-regular-node */
2
- import {
3
- IExecuteFunctions,
4
- INodeExecutionData,
5
- INodeType,
6
- INodeTypeDescription,
7
- IDataObject,
8
- ILoadOptionsFunctions,
9
- INodePropertyOptions,
10
- NodeOperationError,
11
- } from 'n8n-workflow';
12
- import { DEBUG_CONFIG, debugLog } from './utils/debugConfig';
13
-
14
- // Import all descriptions
15
- import * as descriptions from './descriptions';
16
- import { resourceProperty } from './descriptions/resources';
17
-
18
- // Import all resource types and handlers
19
- import * as resources from './resources';
20
-
21
- // Import all option loaders centrally
22
- import * as optionLoaders from './optionLoaders';
23
- import { getAssets } from './optionLoaders/assets/getAssets';
24
- import { getAssetsForCompany } from './optionLoaders/assets/getAssetsForCompany';
25
- import { mapAssetLayoutFieldsForResource } from './optionLoaders/asset_layouts/getAssetLayoutFields';
26
-
27
- export class Hudu implements INodeType {
28
- description: INodeTypeDescription = {
29
- displayName: 'Hudu',
30
- name: 'hudu',
31
- icon: 'file:hudu.svg',
32
- group: ['transform'],
33
- version: 1,
34
- subtitle: '={{$parameter["operation"] + ": " + $parameter["resource"]}}',
35
- description: 'Interact with Hudu REST API',
36
- defaults: {
37
- name: 'Hudu',
38
- },
39
- usableAsTool: true,
40
- inputs: ['main'],
41
- // eslint-disable-next-line n8n-nodes-base/node-class-description-outputs-wrong
42
- outputs: ['main'],
43
-
44
- credentials: [
45
- {
46
- name: 'huduApi',
47
- required: true,
48
- },
49
- ],
50
- codex: {
51
- categories: ['Communication'],
52
- subcategories: {
53
- Communication: ['Documentation']
54
- },
55
- },
56
- requestDefaults: {
57
- baseURL: '={{$credentials.baseUrl}}/api/v1',
58
- headers: {
59
- 'x-api-key': '={{$credentials.apiKey}}',
60
- },
61
- },
62
- properties: [
63
- resourceProperty,
64
- // Operations
65
- ...descriptions.activityLogsOperations,
66
- ...descriptions.apiInfoOperations,
67
- ...descriptions.articlesOperations,
68
- ...descriptions.assetLayoutOperations,
69
- ...descriptions.assetLayoutFieldOperations,
70
- ...descriptions.assetPasswordOperations,
71
- ...descriptions.assetsOperations,
72
- ...descriptions.cardsOperations,
73
- ...descriptions.companiesOperations,
74
- ...descriptions.expirationsOperations,
75
- ...descriptions.folderOperations,
76
- ...descriptions.ipAddressOperations,
77
- ...descriptions.listOptionsOperations,
78
- ...descriptions.listsOperations,
79
- ...descriptions.magicDashOperations,
80
- ...descriptions.matchersOperations,
81
- ...descriptions.networksOperations,
82
- ...descriptions.passwordFoldersOperations,
83
- ...descriptions.proceduresOperations,
84
- ...descriptions.procedureTasksOperations,
85
- ...descriptions.publicPhotosOperations,
86
- ...descriptions.rackStorageOperations,
87
- ...descriptions.rackStorageItemOperations,
88
- ...descriptions.relationsOperations,
89
- ...descriptions.uploadsOperations,
90
- ...descriptions.userOperations,
91
- ...descriptions.websitesOperations,
92
- ...descriptions.vlansOperations,
93
- ...descriptions.vlanZonesOperations,
94
- // Fields
95
- ...descriptions.activityLogsFields,
96
- ...descriptions.apiInfoFields,
97
- ...descriptions.articlesFields,
98
- ...descriptions.assetLayoutFields,
99
- ...descriptions.assetLayoutUpdateFields,
100
- ...descriptions.assetLayoutManageFields,
101
- ...descriptions.assetLayoutFieldFields,
102
- ...descriptions.assetPasswordFields,
103
- ...descriptions.assetsFields,
104
- ...descriptions.cardsFields,
105
- ...descriptions.companiesFields,
106
- ...descriptions.expirationsFields,
107
- ...descriptions.folderFields,
108
- ...descriptions.ipAddressFields,
109
- ...descriptions.listOptionsFields,
110
- ...descriptions.listsFields,
111
- ...descriptions.magicDashFields,
112
- ...descriptions.matchersFields,
113
- ...descriptions.networksFields,
114
- ...descriptions.passwordFoldersFields,
115
- ...descriptions.proceduresFields,
116
- ...descriptions.procedureTasksFields,
117
- ...descriptions.publicPhotosFields,
118
- ...descriptions.rackStorageFields,
119
- ...descriptions.rackStorageItemFields,
120
- ...descriptions.relationsFields,
121
- ...descriptions.uploadsFields,
122
- ...descriptions.userFields,
123
- ...descriptions.websitesFields,
124
- ...descriptions.vlansFields,
125
- ...descriptions.vlanZonesFields,
126
- ],
127
- };
128
-
129
- methods = {
130
- loadOptions: {
131
- getUsers: optionLoaders.getUsers,
132
- getCompanies: optionLoaders.getCompanies,
133
- getAssetLayouts: optionLoaders.getAssetLayouts,
134
- getAssetLayoutFields: optionLoaders.getAssetLayoutFields,
135
- getAssetLayoutFieldValues: optionLoaders.getAssetLayoutFieldValues,
136
- getAssets,
137
- getAssetsForCompany,
138
- getCustomFieldsLayoutFields: optionLoaders.getCustomFieldsLayoutFields,
139
- getLists: optionLoaders.getLists,
140
- async getStandardAssetFields(this: ILoadOptionsFunctions): Promise<INodePropertyOptions[]> {
141
- return [
142
- { name: 'Name', value: 'name' },
143
- { name: 'Archived', value: 'archived' },
144
- { name: 'Primary Serial', value: 'primary_serial' },
145
- { name: 'Primary Model', value: 'primary_model' },
146
- { name: 'Primary Manufacturer', value: 'primary_manufacturer' },
147
- { name: 'Primary Mail', value: 'primary_mail' },
148
- ];
149
- },
150
- async getBinaryProperties(this: ILoadOptionsFunctions): Promise<INodePropertyOptions[]> {
151
- const items = (this as any).getInputData?.() || [];
152
- const item = items[0];
153
- if (!item || !item.binary) {
154
- return [];
155
- }
156
- return Object.keys(item.binary).map((key) => ({
157
- name: key,
158
- value: key,
159
- }));
160
- },
161
- },
162
- resourceMapping: {
163
- mapAssetLayoutFieldsForResource,
164
- },
165
- };
166
-
167
- async execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]> {
168
- const items = this.getInputData();
169
- const returnData: INodeExecutionData[] = [];
170
-
171
- if (DEBUG_CONFIG.NODE_INPUT) {
172
- debugLog('Node Execution - Input Items', {
173
- itemCount: items.length,
174
- items,
175
- });
176
- }
177
-
178
- for (let i = 0; i < items.length; i++) {
179
- try {
180
- const resource = this.getNodeParameter('resource', i) as string;
181
- const operation = this.getNodeParameter('operation', i) as string;
182
-
183
- if (DEBUG_CONFIG.NODE_INPUT) {
184
- debugLog(`Node Execution - Item ${i}`, {
185
- resource,
186
- operation,
187
- itemData: items[i],
188
- });
189
- }
190
-
191
- let responseData: IDataObject | IDataObject[] = {};
192
-
193
- switch (resource) {
194
- case 'activity_logs':
195
- responseData = await resources.handleActivityLogsOperation.call(
196
- this,
197
- operation as resources.ActivityLogsOperation,
198
- i,
199
- );
200
- break;
201
- case 'api_info':
202
- responseData = await resources.handleApiInfoOperation.call(
203
- this,
204
- operation as resources.ApiInfoOperation,
205
- );
206
- break;
207
- case 'articles':
208
- responseData = await resources.handleArticlesOperation.call(
209
- this,
210
- operation as resources.ArticlesOperation,
211
- i,
212
- );
213
- break;
214
- case 'asset_layouts':
215
- responseData = await resources.handleAssetLayoutOperation.call(
216
- this,
217
- operation as resources.AssetLayoutOperation,
218
- i,
219
- );
220
- break;
221
- case 'asset_layout_fields':
222
- responseData = await resources.handleAssetLayoutFieldOperation.call(
223
- this,
224
- operation as resources.AssetLayoutFieldOperation,
225
- i,
226
- );
227
- break;
228
- case 'asset_passwords':
229
- responseData = await resources.handleAssetPasswordOperation.call(
230
- this,
231
- operation as resources.AssetPasswordOperation,
232
- i,
233
- );
234
- break;
235
- case 'assets':
236
- responseData = await resources.handleAssetsOperation.call(
237
- this,
238
- operation as resources.AssetsOperations,
239
- i,
240
- );
241
- break;
242
- case 'cards':
243
- responseData = await resources.handleCardOperation.call(
244
- this,
245
- operation as resources.CardsOperation,
246
- i,
247
- );
248
- break;
249
- case 'companies':
250
- responseData = await resources.handleCompaniesOperation.call(
251
- this,
252
- operation as resources.CompaniesOperations,
253
- i,
254
- );
255
- break;
256
- case 'expirations':
257
- responseData = await resources.handleExpirationOperation.call(
258
- this,
259
- operation as resources.ExpirationsOperations,
260
- i,
261
- );
262
- break;
263
- case 'folders':
264
- responseData = await resources.handleFolderOperation.call(
265
- this,
266
- operation as resources.FolderOperation,
267
- i,
268
- );
269
- break;
270
- case 'ipAddresses':
271
- responseData = await resources.handleIpAddressesOperation.call(
272
- this,
273
- operation as resources.IpAddressOperations,
274
- i,
275
- );
276
- break;
277
- case 'list_options':
278
- responseData = await resources.handleListOptionsOperation.call(
279
- this,
280
- operation as resources.ListOptionsOperation,
281
- i,
282
- );
283
- break;
284
- case 'lists':
285
- responseData = await resources.handleListsOperation.call(
286
- this,
287
- operation as resources.ListsOperation,
288
- i,
289
- );
290
- break;
291
- case 'magic_dash':
292
- responseData = await resources.handleMagicDashOperation.call(
293
- this,
294
- operation as resources.MagicDashOperation,
295
- i,
296
- );
297
- break;
298
- case 'matchers':
299
- responseData = await resources.handleMatcherOperation.call(
300
- this,
301
- operation as resources.MatcherOperation,
302
- i,
303
- );
304
- break;
305
- case 'networks':
306
- responseData = await resources.handleNetworksOperation.call(
307
- this,
308
- operation as resources.NetworksOperations,
309
- i,
310
- );
311
- break;
312
- case 'password_folders':
313
- responseData = await resources.handlePasswordFoldersOperation.call(
314
- this,
315
- operation as resources.PasswordFoldersOperations,
316
- i,
317
- );
318
- break;
319
- case 'procedures':
320
- responseData = await resources.handleProceduresOperation.call(
321
- this,
322
- operation as resources.ProceduresOperations,
323
- i,
324
- );
325
- break;
326
- case 'procedure_tasks':
327
- responseData = await resources.handleProcedureTasksOperation.call(
328
- this,
329
- operation as resources.ProcedureTasksOperations,
330
- i,
331
- );
332
- break;
333
- case 'public_photos':
334
- responseData = await resources.handlePublicPhotoOperation.call(
335
- this,
336
- operation as resources.PublicPhotoOperation,
337
- i,
338
- );
339
- break;
340
- case 'rack_storages':
341
- responseData = await resources.handleRackStorageOperation.call(
342
- this,
343
- operation as resources.RackStorageOperation,
344
- i,
345
- );
346
- break;
347
- case 'rack_storage_items':
348
- responseData = await resources.handleRackStorageItemOperation.call(
349
- this,
350
- operation as resources.RackStorageItemOperation,
351
- i,
352
- );
353
- break;
354
- case 'relations':
355
- responseData = await resources.handleRelationsOperation.call(
356
- this,
357
- operation as resources.RelationOperation,
358
- i,
359
- );
360
- break;
361
- case 'uploads':
362
- responseData = await resources.handleUploadOperation.call(
363
- this,
364
- operation as resources.UploadOperation,
365
- i,
366
- );
367
- break;
368
- case 'users':
369
- responseData = await resources.handleUserOperation.call(
370
- this,
371
- operation as resources.UserOperation,
372
- i,
373
- );
374
- break;
375
- case 'websites':
376
- responseData = await resources.handleWebsitesOperation.call(
377
- this,
378
- operation as resources.WebsiteOperation,
379
- i,
380
- );
381
- break;
382
- case 'vlans':
383
- responseData = await resources.handleVlansOperation.call(
384
- this,
385
- operation as resources.VlanOperation,
386
- i,
387
- );
388
- break;
389
- case 'vlan_zones':
390
- responseData = await resources.handleVlanZonesOperation.call(
391
- this,
392
- operation as resources.VlanZoneOperation,
393
- i,
394
- );
395
- break;
396
- default:
397
- throw new NodeOperationError(this.getNode(), `The resource "${resource}" is not known!`);
398
- }
399
-
400
- const executionData = this.helpers.returnJsonArray(responseData).map((item) => ({
401
- ...item,
402
- pairedItem: { item: i },
403
- }));
404
-
405
- if (DEBUG_CONFIG.NODE_OUTPUT) {
406
- debugLog(`Node Execution - Item ${i} Output`, {
407
- executionData,
408
- });
409
- }
410
-
411
- returnData.push(...executionData);
412
- } catch (error) {
413
- if (DEBUG_CONFIG.NODE_OUTPUT) {
414
- debugLog(`Node Execution - Item ${i} Error`, {
415
- error,
416
- message: error instanceof Error ? error.message : String(error),
417
- stack: error instanceof Error ? error.stack : undefined,
418
- level: 'error',
419
- });
420
- }
421
-
422
- if (this.continueOnFail()) {
423
- const executionErrorData = this.helpers.returnJsonArray({ error: error.message }).map((item: IDataObject) => ({
424
- json: item,
425
- pairedItem: { item: i },
426
- }));
427
- returnData.push(...executionErrorData);
428
- continue;
429
- }
430
- throw error;
431
- }
432
- }
433
-
434
- if (DEBUG_CONFIG.NODE_OUTPUT) {
435
- debugLog('Node Execution - Final Output', {
436
- returnDataCount: returnData.length,
437
- returnData,
438
- });
439
- }
440
-
441
- return [returnData];
442
- }
1
+ /* eslint-disable n8n-nodes-base/node-class-description-inputs-wrong-regular-node */
2
+ import {
3
+ IExecuteFunctions,
4
+ INodeExecutionData,
5
+ INodeType,
6
+ INodeTypeDescription,
7
+ IDataObject,
8
+ ILoadOptionsFunctions,
9
+ INodePropertyOptions,
10
+ NodeOperationError,
11
+ } from 'n8n-workflow';
12
+ import { DEBUG_CONFIG, debugLog } from './utils/debugConfig';
13
+
14
+ // Import all descriptions
15
+ import * as descriptions from './descriptions';
16
+ import { resourceProperty } from './descriptions/resources';
17
+
18
+ // Import all resource types and handlers
19
+ import * as resources from './resources';
20
+
21
+ // Import all option loaders centrally
22
+ import * as optionLoaders from './optionLoaders';
23
+ import { mapAssetLayoutFieldsForResource } from './optionLoaders/asset_layouts/getAssetLayoutFields';
24
+
25
+ export class Hudu implements INodeType {
26
+ description: INodeTypeDescription = {
27
+ displayName: 'Hudu',
28
+ name: 'hudu',
29
+ icon: 'file:hudu.svg',
30
+ group: ['transform'],
31
+ version: 1,
32
+ subtitle: '={{$parameter["operation"] + ": " + $parameter["resource"]}}',
33
+ description: 'Interact with Hudu REST API',
34
+ defaults: {
35
+ name: 'Hudu',
36
+ },
37
+ usableAsTool: true,
38
+ inputs: ['main'] as any,
39
+ outputs: ['main'] as any,
40
+
41
+ credentials: [
42
+ {
43
+ name: 'huduApi',
44
+ required: true,
45
+ },
46
+ ],
47
+ codex: {
48
+ categories: ['Communication'],
49
+ subcategories: {
50
+ Communication: ['Documentation']
51
+ },
52
+ },
53
+ requestDefaults: {
54
+ baseURL: '={{$credentials.baseUrl}}/api/v1',
55
+ headers: {
56
+ 'x-api-key': '={{$credentials.apiKey}}',
57
+ },
58
+ },
59
+ properties: [
60
+ resourceProperty,
61
+ // Operations
62
+ ...descriptions.activityLogsOperations,
63
+ ...descriptions.apiInfoOperations,
64
+ ...descriptions.articlesOperations,
65
+ ...descriptions.assetLayoutOperations,
66
+ ...descriptions.assetLayoutFieldOperations,
67
+ ...descriptions.assetPasswordOperations,
68
+ ...descriptions.assetsOperations,
69
+ ...descriptions.cardsOperations,
70
+ ...descriptions.companiesOperations,
71
+ ...descriptions.expirationsOperations,
72
+ ...descriptions.folderOperations,
73
+ ...descriptions.groupsOperations,
74
+ ...descriptions.ipAddressOperations,
75
+ ...descriptions.listOptionsOperations,
76
+ ...descriptions.listsOperations,
77
+ ...descriptions.magicDashOperations,
78
+ ...descriptions.matchersOperations,
79
+ ...descriptions.networksOperations,
80
+ ...descriptions.passwordFoldersOperations,
81
+ ...descriptions.proceduresOperations,
82
+ ...descriptions.procedureTasksOperations,
83
+ ...descriptions.publicPhotosOperations,
84
+ ...descriptions.rackStorageOperations,
85
+ ...descriptions.rackStorageItemOperations,
86
+ ...descriptions.relationsOperations,
87
+ ...descriptions.uploadsOperations,
88
+ ...descriptions.userOperations,
89
+ ...descriptions.websitesOperations,
90
+ ...descriptions.vlansOperations,
91
+ ...descriptions.vlanZonesOperations,
92
+ // Fields
93
+ ...descriptions.activityLogsFields,
94
+ ...descriptions.apiInfoFields,
95
+ ...descriptions.articlesFields,
96
+ ...descriptions.assetLayoutFields,
97
+ ...descriptions.assetLayoutUpdateFields,
98
+ ...descriptions.assetLayoutManageFields,
99
+ ...descriptions.assetLayoutFieldFields,
100
+ ...descriptions.assetPasswordFields,
101
+ ...descriptions.assetsFields,
102
+ ...descriptions.cardsFields,
103
+ ...descriptions.companiesFields,
104
+ ...descriptions.expirationsFields,
105
+ ...descriptions.folderFields,
106
+ ...descriptions.groupsFields,
107
+ ...descriptions.ipAddressFields,
108
+ ...descriptions.listOptionsFields,
109
+ ...descriptions.listsFields,
110
+ ...descriptions.magicDashFields,
111
+ ...descriptions.matchersFields,
112
+ ...descriptions.networksFields,
113
+ ...descriptions.passwordFoldersFields,
114
+ ...descriptions.proceduresFields,
115
+ ...descriptions.procedureTasksFields,
116
+ ...descriptions.publicPhotosFields,
117
+ ...descriptions.rackStorageFields,
118
+ ...descriptions.rackStorageItemFields,
119
+ ...descriptions.relationsFields,
120
+ ...descriptions.uploadsFields,
121
+ ...descriptions.userFields,
122
+ ...descriptions.websitesFields,
123
+ ...descriptions.vlansFields,
124
+ ...descriptions.vlanZonesFields,
125
+ ],
126
+ };
127
+
128
+ methods = {
129
+ loadOptions: {
130
+ getUsers: optionLoaders.getUsers,
131
+ getCompanies: optionLoaders.getCompanies,
132
+ getAssetLayouts: optionLoaders.getAssetLayouts,
133
+ getAssetLayoutFields: optionLoaders.getAssetLayoutFields,
134
+ getAssetLayoutFieldValues: optionLoaders.getAssetLayoutFieldValues,
135
+ getCustomFieldsLayoutFields: optionLoaders.getCustomFieldsLayoutFields,
136
+ getLists: optionLoaders.getLists,
137
+ getGroups: (optionLoaders as any).getGroups,
138
+ getVlanZones: (optionLoaders as any).getVlanZones,
139
+ async getStandardAssetFields(this: ILoadOptionsFunctions): Promise<INodePropertyOptions[]> {
140
+ return [
141
+ { name: 'Name', value: 'name' },
142
+ { name: 'Archived', value: 'archived' },
143
+ { name: 'Primary Serial', value: 'primary_serial' },
144
+ { name: 'Primary Model', value: 'primary_model' },
145
+ { name: 'Primary Manufacturer', value: 'primary_manufacturer' },
146
+ { name: 'Primary Mail', value: 'primary_mail' },
147
+ ];
148
+ },
149
+ async getBinaryProperties(this: ILoadOptionsFunctions): Promise<INodePropertyOptions[]> {
150
+ const items = (this as any).getInputData?.() || [];
151
+ const item = items[0];
152
+ if (!item || !item.binary) {
153
+ return [];
154
+ }
155
+ return Object.keys(item.binary).map((key) => ({
156
+ name: key,
157
+ value: key,
158
+ }));
159
+ },
160
+ },
161
+ resourceMapping: {
162
+ mapAssetLayoutFieldsForResource,
163
+ },
164
+ };
165
+
166
+ async execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]> {
167
+ const items = this.getInputData();
168
+ const returnData: INodeExecutionData[] = [];
169
+
170
+ if (DEBUG_CONFIG.NODE_INPUT) {
171
+ debugLog('Node Execution - Input Items', {
172
+ itemCount: items.length,
173
+ items,
174
+ });
175
+ }
176
+
177
+ for (let i = 0; i < items.length; i++) {
178
+ try {
179
+ const resource = this.getNodeParameter('resource', i) as string;
180
+ const operation = this.getNodeParameter('operation', i) as string;
181
+
182
+ if (DEBUG_CONFIG.NODE_INPUT) {
183
+ debugLog(`Node Execution - Item ${i}`, {
184
+ resource,
185
+ operation,
186
+ itemData: items[i],
187
+ });
188
+ }
189
+
190
+ let responseData: IDataObject | IDataObject[] = {};
191
+
192
+ switch (resource) {
193
+ case 'activity_logs':
194
+ responseData = await resources.handleActivityLogsOperation.call(
195
+ this,
196
+ operation as resources.ActivityLogsOperation,
197
+ i,
198
+ );
199
+ break;
200
+ case 'api_info':
201
+ responseData = await resources.handleApiInfoOperation.call(
202
+ this,
203
+ operation as resources.ApiInfoOperation,
204
+ );
205
+ break;
206
+ case 'articles':
207
+ responseData = await resources.handleArticlesOperation.call(
208
+ this,
209
+ operation as resources.ArticlesOperation,
210
+ i,
211
+ );
212
+ break;
213
+ case 'asset_layouts':
214
+ responseData = await resources.handleAssetLayoutOperation.call(
215
+ this,
216
+ operation as resources.AssetLayoutOperation,
217
+ i,
218
+ );
219
+ break;
220
+ case 'asset_layout_fields':
221
+ responseData = await resources.handleAssetLayoutFieldOperation.call(
222
+ this,
223
+ operation as resources.AssetLayoutFieldOperation,
224
+ i,
225
+ );
226
+ break;
227
+ case 'asset_passwords':
228
+ responseData = await resources.handleAssetPasswordOperation.call(
229
+ this,
230
+ operation as resources.AssetPasswordOperation,
231
+ i,
232
+ );
233
+ break;
234
+ case 'assets':
235
+ responseData = await resources.handleAssetsOperation.call(
236
+ this,
237
+ operation as resources.AssetsOperations,
238
+ i,
239
+ );
240
+ break;
241
+ case 'cards':
242
+ responseData = await resources.handleCardOperation.call(
243
+ this,
244
+ operation as resources.CardsOperation,
245
+ i,
246
+ );
247
+ break;
248
+ case 'companies':
249
+ responseData = await resources.handleCompaniesOperation.call(
250
+ this,
251
+ operation as resources.CompaniesOperations,
252
+ i,
253
+ );
254
+ break;
255
+ case 'expirations':
256
+ responseData = await resources.handleExpirationOperation.call(
257
+ this,
258
+ operation as resources.ExpirationsOperations,
259
+ i,
260
+ );
261
+ break;
262
+ case 'folders':
263
+ responseData = await resources.handleFolderOperation.call(
264
+ this,
265
+ operation as resources.FolderOperation,
266
+ i,
267
+ );
268
+ break;
269
+ case 'groups':
270
+ responseData = await resources.handleGroupsOperation.call(
271
+ this,
272
+ operation as resources.GroupsOperation,
273
+ i,
274
+ );
275
+ break;
276
+ case 'ipAddresses':
277
+ responseData = await resources.handleIpAddressesOperation.call(
278
+ this,
279
+ operation as resources.IpAddressOperations,
280
+ i,
281
+ );
282
+ break;
283
+ case 'list_options':
284
+ responseData = await resources.handleListOptionsOperation.call(
285
+ this,
286
+ operation as resources.ListOptionsOperation,
287
+ i,
288
+ );
289
+ break;
290
+ case 'lists':
291
+ responseData = await resources.handleListsOperation.call(
292
+ this,
293
+ operation as resources.ListsOperation,
294
+ i,
295
+ );
296
+ break;
297
+ case 'magic_dash':
298
+ responseData = await resources.handleMagicDashOperation.call(
299
+ this,
300
+ operation as resources.MagicDashOperation,
301
+ i,
302
+ );
303
+ break;
304
+ case 'matchers':
305
+ responseData = await resources.handleMatcherOperation.call(
306
+ this,
307
+ operation as resources.MatcherOperation,
308
+ i,
309
+ );
310
+ break;
311
+ case 'networks':
312
+ responseData = await resources.handleNetworksOperation.call(
313
+ this,
314
+ operation as resources.NetworksOperations,
315
+ i,
316
+ );
317
+ break;
318
+ case 'password_folders':
319
+ responseData = await resources.handlePasswordFoldersOperation.call(
320
+ this,
321
+ operation as resources.PasswordFoldersOperations,
322
+ i,
323
+ );
324
+ break;
325
+ case 'procedures':
326
+ responseData = await resources.handleProceduresOperation.call(
327
+ this,
328
+ operation as resources.ProceduresOperations,
329
+ i,
330
+ );
331
+ break;
332
+ case 'procedure_tasks':
333
+ responseData = await resources.handleProcedureTasksOperation.call(
334
+ this,
335
+ operation as resources.ProcedureTasksOperations,
336
+ i,
337
+ );
338
+ break;
339
+ case 'public_photos':
340
+ responseData = await resources.handlePublicPhotoOperation.call(
341
+ this,
342
+ operation as resources.PublicPhotoOperation,
343
+ i,
344
+ );
345
+ break;
346
+ case 'rack_storages':
347
+ responseData = await resources.handleRackStorageOperation.call(
348
+ this,
349
+ operation as resources.RackStorageOperation,
350
+ i,
351
+ );
352
+ break;
353
+ case 'rack_storage_items':
354
+ responseData = await resources.handleRackStorageItemOperation.call(
355
+ this,
356
+ operation as resources.RackStorageItemOperation,
357
+ i,
358
+ );
359
+ break;
360
+ case 'relations':
361
+ responseData = await resources.handleRelationsOperation.call(
362
+ this,
363
+ operation as resources.RelationOperation,
364
+ i,
365
+ );
366
+ break;
367
+ case 'uploads':
368
+ responseData = await resources.handleUploadOperation.call(
369
+ this,
370
+ operation as resources.UploadOperation,
371
+ i,
372
+ );
373
+ break;
374
+ case 'users':
375
+ responseData = await resources.handleUserOperation.call(
376
+ this,
377
+ operation as resources.UserOperation,
378
+ i,
379
+ );
380
+ break;
381
+ case 'websites':
382
+ responseData = await resources.handleWebsitesOperation.call(
383
+ this,
384
+ operation as resources.WebsiteOperation,
385
+ i,
386
+ );
387
+ break;
388
+ case 'vlans':
389
+ responseData = await resources.handleVlansOperation.call(
390
+ this,
391
+ operation as resources.VlanOperation,
392
+ i,
393
+ );
394
+ break;
395
+ case 'vlan_zones':
396
+ responseData = await resources.handleVlanZonesOperation.call(
397
+ this,
398
+ operation as resources.VlanZoneOperation,
399
+ i,
400
+ );
401
+ break;
402
+ default:
403
+ throw new NodeOperationError(this.getNode(), `The resource "${resource}" is not known!`);
404
+ }
405
+
406
+ const executionData = this.helpers.returnJsonArray(responseData).map((item) => ({
407
+ ...item,
408
+ pairedItem: { item: i },
409
+ }));
410
+
411
+ if (DEBUG_CONFIG.NODE_OUTPUT) {
412
+ debugLog(`Node Execution - Item ${i} Output`, {
413
+ executionData,
414
+ });
415
+ }
416
+
417
+ returnData.push(...executionData);
418
+ } catch (error) {
419
+ if (DEBUG_CONFIG.NODE_OUTPUT) {
420
+ debugLog(`Node Execution - Item ${i} Error`, {
421
+ error,
422
+ message: error instanceof Error ? error.message : String(error),
423
+ stack: error instanceof Error ? error.stack : undefined,
424
+ level: 'error',
425
+ });
426
+ }
427
+
428
+ if (this.continueOnFail()) {
429
+ const executionErrorData = this.helpers.returnJsonArray({ error: error.message }).map((item: IDataObject) => ({
430
+ json: item,
431
+ pairedItem: { item: i },
432
+ }));
433
+ returnData.push(...executionErrorData);
434
+ continue;
435
+ }
436
+ throw error;
437
+ }
438
+ }
439
+
440
+ if (DEBUG_CONFIG.NODE_OUTPUT) {
441
+ debugLog('Node Execution - Final Output', {
442
+ returnDataCount: returnData.length,
443
+ returnData,
444
+ });
445
+ }
446
+
447
+ return [returnData];
448
+ }
443
449
  }