n8n-nodes-hudu 1.5.1 → 1.6.0

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 (83) hide show
  1. package/README.md +14 -0
  2. package/dist/nodes/Hudu/descriptions/articles.description.js +27 -1
  3. package/dist/nodes/Hudu/descriptions/articles.description.js.map +1 -1
  4. package/dist/nodes/Hudu/descriptions/articles.description.ts +30 -2
  5. package/dist/nodes/Hudu/descriptions/asset_layouts.description.js +29 -3
  6. package/dist/nodes/Hudu/descriptions/asset_layouts.description.js.map +1 -1
  7. package/dist/nodes/Hudu/descriptions/asset_layouts.description.ts +31 -3
  8. package/dist/nodes/Hudu/descriptions/asset_passwords.description.js +29 -3
  9. package/dist/nodes/Hudu/descriptions/asset_passwords.description.js.map +1 -1
  10. package/dist/nodes/Hudu/descriptions/asset_passwords.description.ts +31 -3
  11. package/dist/nodes/Hudu/descriptions/assets.description.js +29 -3
  12. package/dist/nodes/Hudu/descriptions/assets.description.js.map +1 -1
  13. package/dist/nodes/Hudu/descriptions/assets.description.ts +32 -3
  14. package/dist/nodes/Hudu/descriptions/companies.description.js +30 -4
  15. package/dist/nodes/Hudu/descriptions/companies.description.js.map +1 -1
  16. package/dist/nodes/Hudu/descriptions/companies.description.ts +33 -4
  17. package/dist/nodes/Hudu/descriptions/groups.description.js +30 -4
  18. package/dist/nodes/Hudu/descriptions/groups.description.js.map +1 -1
  19. package/dist/nodes/Hudu/descriptions/groups.description.ts +31 -4
  20. package/dist/nodes/Hudu/descriptions/magic_dash.description.ts +308 -308
  21. package/dist/nodes/Hudu/descriptions/networks.description.js +29 -3
  22. package/dist/nodes/Hudu/descriptions/networks.description.js.map +1 -1
  23. package/dist/nodes/Hudu/descriptions/networks.description.ts +30 -3
  24. package/dist/nodes/Hudu/descriptions/passwordFolders.descriptions.js +30 -4
  25. package/dist/nodes/Hudu/descriptions/passwordFolders.descriptions.js.map +1 -1
  26. package/dist/nodes/Hudu/descriptions/passwordFolders.descriptions.ts +31 -4
  27. package/dist/nodes/Hudu/descriptions/procedures.description.js +30 -4
  28. package/dist/nodes/Hudu/descriptions/procedures.description.js.map +1 -1
  29. package/dist/nodes/Hudu/descriptions/procedures.description.ts +33 -4
  30. package/dist/nodes/Hudu/descriptions/users.description.js +30 -4
  31. package/dist/nodes/Hudu/descriptions/users.description.js.map +1 -1
  32. package/dist/nodes/Hudu/descriptions/users.description.ts +31 -4
  33. package/dist/nodes/Hudu/descriptions/vlan_zones.description.js +41 -1
  34. package/dist/nodes/Hudu/descriptions/vlan_zones.description.js.map +1 -1
  35. package/dist/nodes/Hudu/descriptions/vlan_zones.description.ts +44 -2
  36. package/dist/nodes/Hudu/descriptions/vlans.description.js +41 -1
  37. package/dist/nodes/Hudu/descriptions/vlans.description.js.map +1 -1
  38. package/dist/nodes/Hudu/descriptions/vlans.description.ts +44 -2
  39. package/dist/nodes/Hudu/descriptions/websites.description.js +30 -4
  40. package/dist/nodes/Hudu/descriptions/websites.description.js.map +1 -1
  41. package/dist/nodes/Hudu/descriptions/websites.description.ts +33 -4
  42. package/dist/nodes/Hudu/resources/articles/articles.handler.js +15 -1
  43. package/dist/nodes/Hudu/resources/articles/articles.handler.js.map +1 -1
  44. package/dist/nodes/Hudu/resources/articles/articles.handler.ts +40 -6
  45. package/dist/nodes/Hudu/resources/asset_layouts/asset_layouts.handler.js +16 -2
  46. package/dist/nodes/Hudu/resources/asset_layouts/asset_layouts.handler.js.map +1 -1
  47. package/dist/nodes/Hudu/resources/asset_layouts/asset_layouts.handler.ts +36 -3
  48. package/dist/nodes/Hudu/resources/asset_passwords/asset_passwords.handler.js +14 -1
  49. package/dist/nodes/Hudu/resources/asset_passwords/asset_passwords.handler.js.map +1 -1
  50. package/dist/nodes/Hudu/resources/asset_passwords/asset_passwords.handler.ts +36 -1
  51. package/dist/nodes/Hudu/resources/assets/assets.handler.js +20 -9
  52. package/dist/nodes/Hudu/resources/assets/assets.handler.js.map +1 -1
  53. package/dist/nodes/Hudu/resources/assets/assets.handler.ts +60 -12
  54. package/dist/nodes/Hudu/resources/companies/companies.handler.js +21 -6
  55. package/dist/nodes/Hudu/resources/companies/companies.handler.js.map +1 -1
  56. package/dist/nodes/Hudu/resources/companies/companies.handler.ts +46 -10
  57. package/dist/nodes/Hudu/resources/groups/groups.handler.js +16 -2
  58. package/dist/nodes/Hudu/resources/groups/groups.handler.js.map +1 -1
  59. package/dist/nodes/Hudu/resources/groups/groups.handler.ts +37 -2
  60. package/dist/nodes/Hudu/resources/magic_dash/magic_dash.handler.ts +100 -100
  61. package/dist/nodes/Hudu/resources/networks/networks.handler.js +15 -1
  62. package/dist/nodes/Hudu/resources/networks/networks.handler.js.map +1 -1
  63. package/dist/nodes/Hudu/resources/networks/networks.handler.ts +36 -1
  64. package/dist/nodes/Hudu/resources/password_folders/password_folders.handler.js +15 -2
  65. package/dist/nodes/Hudu/resources/password_folders/password_folders.handler.js.map +1 -1
  66. package/dist/nodes/Hudu/resources/password_folders/password_folders.handler.ts +36 -2
  67. package/dist/nodes/Hudu/resources/procedures/procedures.handler.js +18 -4
  68. package/dist/nodes/Hudu/resources/procedures/procedures.handler.js.map +1 -1
  69. package/dist/nodes/Hudu/resources/procedures/procedures.handler.ts +39 -4
  70. package/dist/nodes/Hudu/resources/users/users.handler.js +16 -2
  71. package/dist/nodes/Hudu/resources/users/users.handler.js.map +1 -1
  72. package/dist/nodes/Hudu/resources/users/users.handler.ts +37 -2
  73. package/dist/nodes/Hudu/resources/vlan_zones/vlan_zones.handler.js +17 -3
  74. package/dist/nodes/Hudu/resources/vlan_zones/vlan_zones.handler.js.map +1 -1
  75. package/dist/nodes/Hudu/resources/vlan_zones/vlan_zones.handler.ts +37 -3
  76. package/dist/nodes/Hudu/resources/vlans/vlans.handler.js +17 -3
  77. package/dist/nodes/Hudu/resources/vlans/vlans.handler.js.map +1 -1
  78. package/dist/nodes/Hudu/resources/vlans/vlans.handler.ts +38 -4
  79. package/dist/nodes/Hudu/resources/websites/websites.handler.js +23 -9
  80. package/dist/nodes/Hudu/resources/websites/websites.handler.js.map +1 -1
  81. package/dist/nodes/Hudu/resources/websites/websites.handler.ts +44 -10
  82. package/dist/nodes/Hudu/utils/operations/magic_dash.ts +68 -68
  83. package/package.json +1 -1
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.handleVlanZonesOperation = handleVlanZonesOperation;
4
+ const n8n_workflow_1 = require("n8n-workflow");
4
5
  const index_1 = require("../../utils/index");
5
6
  const operations_1 = require("../../utils/operations");
6
7
  const constants_1 = require("../../utils/constants");
@@ -92,11 +93,24 @@ async function handleVlanZonesOperation(operation, i) {
92
93
  return result;
93
94
  }
94
95
  case 'get': {
95
- const id = this.getNodeParameter('id', i);
96
+ const vlanZoneId = this.getNodeParameter('vlanZoneId', i);
97
+ const identifierType = this.getNodeParameter('identifierType', i, 'id');
96
98
  if (debugConfig_1.DEBUG_CONFIG.RESOURCE_PARAMS) {
97
- (0, debugConfig_1.debugLog)('[ResourceParams] VLAN Zone get parameters', { id });
99
+ (0, debugConfig_1.debugLog)('[ResourceParams] VLAN Zone get parameters', { vlanZoneId, identifierType });
100
+ }
101
+ if (identifierType === 'slug') {
102
+ const vlanZones = await operations_1.handleGetAllOperation.call(this, resourceEndpoint, 'vlan_zones', { slug: vlanZoneId }, false, 1);
103
+ if (vlanZones.length === 0) {
104
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), `VLAN zone with slug "${vlanZoneId}" not found`, { itemIndex: i });
105
+ }
106
+ if (vlanZones.length > 1) {
107
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Multiple VLAN zones found with slug "${vlanZoneId}" (expected unique)`, { itemIndex: i });
108
+ }
109
+ return vlanZones[0];
110
+ }
111
+ else {
112
+ return await operations_1.handleGetOperation.call(this, resourceEndpoint, vlanZoneId, 'vlan_zone');
98
113
  }
99
- return await operations_1.handleGetOperation.call(this, resourceEndpoint, id, 'vlan_zone');
100
114
  }
101
115
  case 'create': {
102
116
  const companyId = (0, index_1.validateCompanyId)(this.getNodeParameter('company_id', i), this.getNode(), 'Company ID');
@@ -1 +1 @@
1
- {"version":3,"file":"vlan_zones.handler.js","sourceRoot":"","sources":["../../../../../../src/nodes/Hudu/resources/vlan_zones/vlan_zones.handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vlan_zones.handler.js","sourceRoot":"","sources":["../../../../../../src/nodes/Hudu/resources/vlan_zones/vlan_zones.handler.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { IExecuteFunctions, IDataObject } from 'n8n-workflow';
2
+ import { NodeOperationError } from 'n8n-workflow';
2
3
  import { processDateRange, validateCompanyId } from '../../utils/index';
3
4
  import type { DateRangePreset } from '../../utils/dateUtils';
4
5
  import {
@@ -125,13 +126,46 @@ export async function handleVlanZonesOperation(
125
126
  }
126
127
 
127
128
  case 'get': {
128
- const id = this.getNodeParameter('id', i) as number;
129
+ const vlanZoneId = this.getNodeParameter('vlanZoneId', i) as string;
130
+ const identifierType = this.getNodeParameter('identifierType', i, 'id') as string;
129
131
 
130
132
  if (DEBUG_CONFIG.RESOURCE_PARAMS) {
131
- debugLog('[ResourceParams] VLAN Zone get parameters', { id });
133
+ debugLog('[ResourceParams] VLAN Zone get parameters', { vlanZoneId, identifierType });
132
134
  }
133
135
 
134
- return await handleGetOperation.call(this, resourceEndpoint, id, 'vlan_zone');
136
+ if (identifierType === 'slug') {
137
+ // Use getAll with slug filter for slug-based retrieval
138
+ const vlanZones = await handleGetAllOperation.call(
139
+ this,
140
+ resourceEndpoint,
141
+ 'vlan_zones',
142
+ { slug: vlanZoneId },
143
+ false, // returnAll
144
+ 1, // limit to 1 for efficiency
145
+ ) as IDataObject[];
146
+
147
+ if (vlanZones.length === 0) {
148
+ throw new NodeOperationError(
149
+ this.getNode(),
150
+ `VLAN zone with slug "${vlanZoneId}" not found`,
151
+ { itemIndex: i },
152
+ );
153
+ }
154
+
155
+ if (vlanZones.length > 1) {
156
+ // Should not happen if slugs are unique, but handle gracefully
157
+ throw new NodeOperationError(
158
+ this.getNode(),
159
+ `Multiple VLAN zones found with slug "${vlanZoneId}" (expected unique)`,
160
+ { itemIndex: i },
161
+ );
162
+ }
163
+
164
+ return vlanZones[0];
165
+ } else {
166
+ // Use existing handleGetOperation for ID-based retrieval
167
+ return await handleGetOperation.call(this, resourceEndpoint, vlanZoneId, 'vlan_zone');
168
+ }
135
169
  }
136
170
 
137
171
  case 'create': {
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.handleVlansOperation = handleVlansOperation;
4
+ const n8n_workflow_1 = require("n8n-workflow");
4
5
  const index_1 = require("../../utils/index");
5
6
  const operations_1 = require("../../utils/operations");
6
7
  const constants_1 = require("../../utils/constants");
@@ -92,11 +93,24 @@ async function handleVlansOperation(operation, i) {
92
93
  return result;
93
94
  }
94
95
  case 'get': {
95
- const id = this.getNodeParameter('id', i);
96
+ const vlanId = this.getNodeParameter('id', i);
97
+ const identifierType = this.getNodeParameter('identifierType', i, 'id');
96
98
  if (debugConfig_1.DEBUG_CONFIG.RESOURCE_PARAMS) {
97
- (0, debugConfig_1.debugLog)('[ResourceParams] VLAN get parameters', { id });
99
+ (0, debugConfig_1.debugLog)('[ResourceParams] VLAN get parameters', { vlanId, identifierType });
100
+ }
101
+ if (identifierType === 'slug') {
102
+ const vlans = await operations_1.handleGetAllOperation.call(this, resourceEndpoint, 'vlans', { slug: vlanId }, false, 1);
103
+ if (vlans.length === 0) {
104
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), `VLAN with slug "${vlanId}" not found`, { itemIndex: i });
105
+ }
106
+ if (vlans.length > 1) {
107
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Multiple VLANs found with slug "${vlanId}" (expected unique)`, { itemIndex: i });
108
+ }
109
+ return vlans[0];
110
+ }
111
+ else {
112
+ return await operations_1.handleGetOperation.call(this, resourceEndpoint, vlanId, 'vlan');
98
113
  }
99
- return await operations_1.handleGetOperation.call(this, resourceEndpoint, id, 'vlan');
100
114
  }
101
115
  case 'create': {
102
116
  const companyId = (0, index_1.validateCompanyId)(this.getNodeParameter('company_id', i), this.getNode(), 'Company ID');
@@ -1 +1 @@
1
- {"version":3,"file":"vlans.handler.js","sourceRoot":"","sources":["../../../../../../src/nodes/Hudu/resources/vlans/vlans.handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vlans.handler.js","sourceRoot":"","sources":["../../../../../../src/nodes/Hudu/resources/vlans/vlans.handler.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { IExecuteFunctions, IDataObject } from 'n8n-workflow';
2
+ import { NodeOperationError } from 'n8n-workflow';
2
3
  import { processDateRange, validateCompanyId } from '../../utils/index';
3
4
  import type { DateRangePreset } from '../../utils/dateUtils';
4
5
  import {
@@ -127,13 +128,46 @@ export async function handleVlansOperation(
127
128
  }
128
129
 
129
130
  case 'get': {
130
- const id = this.getNodeParameter('id', i) as number;
131
+ const vlanId = this.getNodeParameter('id', i) as string;
132
+ const identifierType = this.getNodeParameter('identifierType', i, 'id') as string;
131
133
 
132
134
  if (DEBUG_CONFIG.RESOURCE_PARAMS) {
133
- debugLog('[ResourceParams] VLAN get parameters', { id });
135
+ debugLog('[ResourceParams] VLAN get parameters', { vlanId, identifierType });
136
+ }
137
+
138
+ if (identifierType === 'slug') {
139
+ // Use getAll with slug filter for slug-based retrieval
140
+ const vlans = await handleGetAllOperation.call(
141
+ this,
142
+ resourceEndpoint,
143
+ 'vlans',
144
+ { slug: vlanId },
145
+ false, // returnAll
146
+ 1, // limit to 1 for efficiency
147
+ ) as IDataObject[];
148
+
149
+ if (vlans.length === 0) {
150
+ throw new NodeOperationError(
151
+ this.getNode(),
152
+ `VLAN with slug "${vlanId}" not found`,
153
+ { itemIndex: i },
154
+ );
155
+ }
156
+
157
+ if (vlans.length > 1) {
158
+ // Should not happen if slugs are unique, but handle gracefully
159
+ throw new NodeOperationError(
160
+ this.getNode(),
161
+ `Multiple VLANs found with slug "${vlanId}" (expected unique)`,
162
+ { itemIndex: i },
163
+ );
164
+ }
165
+
166
+ return vlans[0];
167
+ } else {
168
+ // Use existing handleGetOperation for ID-based retrieval
169
+ return await handleGetOperation.call(this, resourceEndpoint, vlanId, 'vlan');
134
170
  }
135
-
136
- return await handleGetOperation.call(this, resourceEndpoint, id, 'vlan');
137
171
  }
138
172
 
139
173
  case 'create': {
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.handleWebsitesOperation = handleWebsitesOperation;
4
+ const n8n_workflow_1 = require("n8n-workflow");
4
5
  const index_1 = require("../../utils/index");
5
6
  const operations_1 = require("../../utils/operations");
6
7
  const constants_1 = require("../../utils/constants");
@@ -62,11 +63,24 @@ async function handleWebsitesOperation(operation, i) {
62
63
  return await operations_1.handleGetAllOperation.call(this, resourceEndpoint, 'websites', qs, returnAll, limit);
63
64
  }
64
65
  case 'get': {
65
- const id = this.getNodeParameter('id', i);
66
+ const websiteId = this.getNodeParameter('websiteId', i);
67
+ const identifierType = this.getNodeParameter('identifierType', i, 'id');
66
68
  if (debugConfig_1.DEBUG_CONFIG.RESOURCE_PARAMS) {
67
- (0, debugConfig_1.debugLog)('[ResourceParams] Websites get parameters', { id });
69
+ (0, debugConfig_1.debugLog)('[ResourceParams] Websites get parameters', { websiteId, identifierType });
70
+ }
71
+ if (identifierType === 'slug') {
72
+ const websites = await operations_1.handleGetAllOperation.call(this, resourceEndpoint, 'websites', { slug: websiteId }, false, 1);
73
+ if (websites.length === 0) {
74
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Website with slug "${websiteId}" not found`, { itemIndex: i });
75
+ }
76
+ if (websites.length > 1) {
77
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Multiple websites found with slug "${websiteId}" (expected unique)`, { itemIndex: i });
78
+ }
79
+ return websites[0];
80
+ }
81
+ else {
82
+ return await operations_1.handleGetOperation.call(this, resourceEndpoint, websiteId, 'website');
68
83
  }
69
- return await operations_1.handleGetOperation.call(this, resourceEndpoint, id, 'website');
70
84
  }
71
85
  case 'create': {
72
86
  const companyId = (0, index_1.validateCompanyId)(this.getNodeParameter('companyId', i), this.getNode(), 'Company ID');
@@ -92,10 +106,10 @@ async function handleWebsitesOperation(operation, i) {
92
106
  return await operations_1.handleCreateOperation.call(this, resourceEndpoint, body);
93
107
  }
94
108
  case 'update': {
95
- const id = this.getNodeParameter('id', i);
109
+ const websiteId = this.getNodeParameter('websiteId', i);
96
110
  const updateFields = this.getNodeParameter('websiteUpdateFields', i);
97
111
  if (debugConfig_1.DEBUG_CONFIG.RESOURCE_PARAMS) {
98
- (0, debugConfig_1.debugLog)('[ResourceParams] Websites update parameters', { id, updateFields });
112
+ (0, debugConfig_1.debugLog)('[ResourceParams] Websites update parameters', { websiteId, updateFields });
99
113
  }
100
114
  const body = {
101
115
  website: {
@@ -105,14 +119,14 @@ async function handleWebsitesOperation(operation, i) {
105
119
  if (debugConfig_1.DEBUG_CONFIG.RESOURCE_TRANSFORM) {
106
120
  (0, debugConfig_1.debugLog)('[ResourceTransform] Websites update transformed body', { body });
107
121
  }
108
- return await operations_1.handleUpdateOperation.call(this, resourceEndpoint, id, body);
122
+ return await operations_1.handleUpdateOperation.call(this, resourceEndpoint, websiteId, body);
109
123
  }
110
124
  case 'delete': {
111
- const id = this.getNodeParameter('id', i);
125
+ const websiteId = this.getNodeParameter('websiteId', i);
112
126
  if (debugConfig_1.DEBUG_CONFIG.RESOURCE_PARAMS) {
113
- (0, debugConfig_1.debugLog)('[ResourceParams] Websites delete parameters', { id });
127
+ (0, debugConfig_1.debugLog)('[ResourceParams] Websites delete parameters', { websiteId });
114
128
  }
115
- return await operations_1.handleDeleteOperation.call(this, resourceEndpoint, id);
129
+ return await operations_1.handleDeleteOperation.call(this, resourceEndpoint, websiteId);
116
130
  }
117
131
  }
118
132
  throw new Error(`Unsupported operation ${operation}`);
@@ -1 +1 @@
1
- {"version":3,"file":"websites.handler.js","sourceRoot":"","sources":["../../../../../../src/nodes/Hudu/resources/websites/websites.handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"websites.handler.js","sourceRoot":"","sources":["../../../../../../src/nodes/Hudu/resources/websites/websites.handler.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { IExecuteFunctions, IDataObject } from 'n8n-workflow';
2
+ import { NodeOperationError } from 'n8n-workflow';
2
3
  import { processDateRange, validateCompanyId } from '../../utils/index';
3
4
  import type { DateRangePreset } from '../../utils/dateUtils';
4
5
  import {
@@ -89,13 +90,46 @@ export async function handleWebsitesOperation(
89
90
  }
90
91
 
91
92
  case 'get': {
92
- const id = this.getNodeParameter('id', i) as number;
93
+ const websiteId = this.getNodeParameter('websiteId', i) as string;
94
+ const identifierType = this.getNodeParameter('identifierType', i, 'id') as string;
93
95
 
94
96
  if (DEBUG_CONFIG.RESOURCE_PARAMS) {
95
- debugLog('[ResourceParams] Websites get parameters', { id });
97
+ debugLog('[ResourceParams] Websites get parameters', { websiteId, identifierType });
98
+ }
99
+
100
+ if (identifierType === 'slug') {
101
+ // Use getAll with slug filter for slug-based retrieval
102
+ const websites = await handleGetAllOperation.call(
103
+ this,
104
+ resourceEndpoint,
105
+ 'websites',
106
+ { slug: websiteId },
107
+ false, // returnAll
108
+ 1, // limit to 1 for efficiency
109
+ ) as IDataObject[];
110
+
111
+ if (websites.length === 0) {
112
+ throw new NodeOperationError(
113
+ this.getNode(),
114
+ `Website with slug "${websiteId}" not found`,
115
+ { itemIndex: i },
116
+ );
117
+ }
118
+
119
+ if (websites.length > 1) {
120
+ // Should not happen if slugs are unique, but handle gracefully
121
+ throw new NodeOperationError(
122
+ this.getNode(),
123
+ `Multiple websites found with slug "${websiteId}" (expected unique)`,
124
+ { itemIndex: i },
125
+ );
126
+ }
127
+
128
+ return websites[0];
129
+ } else {
130
+ // Use existing handleGetOperation for ID-based retrieval
131
+ return await handleGetOperation.call(this, resourceEndpoint, websiteId, 'website');
96
132
  }
97
-
98
- return await handleGetOperation.call(this, resourceEndpoint, id, 'website');
99
133
  }
100
134
 
101
135
  case 'create': {
@@ -131,11 +165,11 @@ export async function handleWebsitesOperation(
131
165
  }
132
166
 
133
167
  case 'update': {
134
- const id = this.getNodeParameter('id', i) as number;
168
+ const websiteId = this.getNodeParameter('websiteId', i) as string;
135
169
  const updateFields = this.getNodeParameter('websiteUpdateFields', i) as IDataObject;
136
170
 
137
171
  if (DEBUG_CONFIG.RESOURCE_PARAMS) {
138
- debugLog('[ResourceParams] Websites update parameters', { id, updateFields });
172
+ debugLog('[ResourceParams] Websites update parameters', { websiteId, updateFields });
139
173
  }
140
174
 
141
175
  const body = {
@@ -148,17 +182,17 @@ export async function handleWebsitesOperation(
148
182
  debugLog('[ResourceTransform] Websites update transformed body', { body });
149
183
  }
150
184
 
151
- return await handleUpdateOperation.call(this, resourceEndpoint, id, body);
185
+ return await handleUpdateOperation.call(this, resourceEndpoint, websiteId, body);
152
186
  }
153
187
 
154
188
  case 'delete': {
155
- const id = this.getNodeParameter('id', i) as number;
189
+ const websiteId = this.getNodeParameter('websiteId', i) as string;
156
190
 
157
191
  if (DEBUG_CONFIG.RESOURCE_PARAMS) {
158
- debugLog('[ResourceParams] Websites delete parameters', { id });
192
+ debugLog('[ResourceParams] Websites delete parameters', { websiteId });
159
193
  }
160
194
 
161
- return await handleDeleteOperation.call(this, resourceEndpoint, id);
195
+ return await handleDeleteOperation.call(this, resourceEndpoint, websiteId);
162
196
  }
163
197
  }
164
198
 
@@ -1,69 +1,69 @@
1
- import type { IExecuteFunctions, IDataObject } from 'n8n-workflow';
2
- import { huduApiRequest } from '../requestUtils';
3
- import { HUDU_API_CONSTANTS } from '../constants';
4
-
5
- export async function handleMagicDashGetAllOperation(
6
- this: IExecuteFunctions,
7
- filters: IDataObject = {},
8
- returnAll = false,
9
- limit = HUDU_API_CONSTANTS.PAGE_SIZE,
10
- ): Promise<IDataObject[]> {
11
- let allItems: IDataObject[] = [];
12
- let page = 1;
13
- const pageSize = HUDU_API_CONSTANTS.PAGE_SIZE;
14
-
15
- let hasMorePages = true;
16
- do {
17
- const qs: IDataObject = {
18
- page,
19
- page_size: pageSize,
20
- };
21
-
22
- // Handle filters
23
- if (filters.company_id) {
24
- qs.company_id = Number.parseInt(filters.company_id as string, 10);
25
- }
26
- if (filters.title) {
27
- qs.title = filters.title;
28
- }
29
-
30
- const response = await huduApiRequest.call(
31
- this,
32
- 'GET',
33
- '/magic_dash',
34
- {},
35
- qs,
36
- );
37
-
38
- const items = Array.isArray(response) ? response : [];
39
- allItems.push(...items);
40
-
41
- if (items.length < pageSize || (!returnAll && allItems.length >= limit)) {
42
- hasMorePages = false;
43
- } else {
44
- page++;
45
- }
46
- } while (hasMorePages);
47
-
48
- if (!returnAll) {
49
- allItems = allItems.slice(0, limit);
50
- }
51
-
52
- return allItems;
53
- }
54
-
55
- export async function handleMagicDashGetByIdOperation(
56
- this: IExecuteFunctions,
57
- id: number,
58
- ): Promise<IDataObject> {
59
- // Use the getAll operation to fetch all items, ensuring pagination is handled.
60
- const allItems = await handleMagicDashGetAllOperation.call(this, {}, true);
61
-
62
- const item = allItems.find((item) => item.id === id);
63
-
64
- if (!item) {
65
- throw new Error(`Magic Dash item with ID ${id} not found.`);
66
- }
67
-
68
- return item;
1
+ import type { IExecuteFunctions, IDataObject } from 'n8n-workflow';
2
+ import { huduApiRequest } from '../requestUtils';
3
+ import { HUDU_API_CONSTANTS } from '../constants';
4
+
5
+ export async function handleMagicDashGetAllOperation(
6
+ this: IExecuteFunctions,
7
+ filters: IDataObject = {},
8
+ returnAll = false,
9
+ limit = HUDU_API_CONSTANTS.PAGE_SIZE,
10
+ ): Promise<IDataObject[]> {
11
+ let allItems: IDataObject[] = [];
12
+ let page = 1;
13
+ const pageSize = HUDU_API_CONSTANTS.PAGE_SIZE;
14
+
15
+ let hasMorePages = true;
16
+ do {
17
+ const qs: IDataObject = {
18
+ page,
19
+ page_size: pageSize,
20
+ };
21
+
22
+ // Handle filters
23
+ if (filters.company_id) {
24
+ qs.company_id = Number.parseInt(filters.company_id as string, 10);
25
+ }
26
+ if (filters.title) {
27
+ qs.title = filters.title;
28
+ }
29
+
30
+ const response = await huduApiRequest.call(
31
+ this,
32
+ 'GET',
33
+ '/magic_dash',
34
+ {},
35
+ qs,
36
+ );
37
+
38
+ const items = Array.isArray(response) ? response : [];
39
+ allItems.push(...items);
40
+
41
+ if (items.length < pageSize || (!returnAll && allItems.length >= limit)) {
42
+ hasMorePages = false;
43
+ } else {
44
+ page++;
45
+ }
46
+ } while (hasMorePages);
47
+
48
+ if (!returnAll) {
49
+ allItems = allItems.slice(0, limit);
50
+ }
51
+
52
+ return allItems;
53
+ }
54
+
55
+ export async function handleMagicDashGetByIdOperation(
56
+ this: IExecuteFunctions,
57
+ id: number,
58
+ ): Promise<IDataObject> {
59
+ // Use the getAll operation to fetch all items, ensuring pagination is handled.
60
+ const allItems = await handleMagicDashGetAllOperation.call(this, {}, true);
61
+
62
+ const item = allItems.find((item) => item.id === id);
63
+
64
+ if (!item) {
65
+ throw new Error(`Magic Dash item with ID ${id} not found.`);
66
+ }
67
+
68
+ return item;
69
69
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "n8n-nodes-hudu",
3
- "version": "1.5.1",
3
+ "version": "1.6.0",
4
4
  "description": "This n8n custom node facilitates integration with Hudu's API.",
5
5
  "keywords": [
6
6
  "n8n-community-node-package",