n8n-nodes-hudu 1.5.1 → 1.6.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 (80) 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 +26 -59
  12. package/dist/nodes/Hudu/descriptions/assets.description.js.map +1 -1
  13. package/dist/nodes/Hudu/descriptions/assets.description.ts +29 -60
  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/networks.description.js +29 -3
  21. package/dist/nodes/Hudu/descriptions/networks.description.js.map +1 -1
  22. package/dist/nodes/Hudu/descriptions/networks.description.ts +30 -3
  23. package/dist/nodes/Hudu/descriptions/passwordFolders.descriptions.js +30 -4
  24. package/dist/nodes/Hudu/descriptions/passwordFolders.descriptions.js.map +1 -1
  25. package/dist/nodes/Hudu/descriptions/passwordFolders.descriptions.ts +31 -4
  26. package/dist/nodes/Hudu/descriptions/procedures.description.js +30 -4
  27. package/dist/nodes/Hudu/descriptions/procedures.description.js.map +1 -1
  28. package/dist/nodes/Hudu/descriptions/procedures.description.ts +33 -4
  29. package/dist/nodes/Hudu/descriptions/users.description.js +30 -4
  30. package/dist/nodes/Hudu/descriptions/users.description.js.map +1 -1
  31. package/dist/nodes/Hudu/descriptions/users.description.ts +31 -4
  32. package/dist/nodes/Hudu/descriptions/vlan_zones.description.js +41 -1
  33. package/dist/nodes/Hudu/descriptions/vlan_zones.description.js.map +1 -1
  34. package/dist/nodes/Hudu/descriptions/vlan_zones.description.ts +44 -2
  35. package/dist/nodes/Hudu/descriptions/vlans.description.js +41 -1
  36. package/dist/nodes/Hudu/descriptions/vlans.description.js.map +1 -1
  37. package/dist/nodes/Hudu/descriptions/vlans.description.ts +44 -2
  38. package/dist/nodes/Hudu/descriptions/websites.description.js +30 -4
  39. package/dist/nodes/Hudu/descriptions/websites.description.js.map +1 -1
  40. package/dist/nodes/Hudu/descriptions/websites.description.ts +33 -4
  41. package/dist/nodes/Hudu/resources/articles/articles.handler.js +15 -1
  42. package/dist/nodes/Hudu/resources/articles/articles.handler.js.map +1 -1
  43. package/dist/nodes/Hudu/resources/articles/articles.handler.ts +40 -6
  44. package/dist/nodes/Hudu/resources/asset_layouts/asset_layouts.handler.js +16 -2
  45. package/dist/nodes/Hudu/resources/asset_layouts/asset_layouts.handler.js.map +1 -1
  46. package/dist/nodes/Hudu/resources/asset_layouts/asset_layouts.handler.ts +36 -3
  47. package/dist/nodes/Hudu/resources/asset_passwords/asset_passwords.handler.js +14 -1
  48. package/dist/nodes/Hudu/resources/asset_passwords/asset_passwords.handler.js.map +1 -1
  49. package/dist/nodes/Hudu/resources/asset_passwords/asset_passwords.handler.ts +36 -1
  50. package/dist/nodes/Hudu/resources/assets/assets.handler.js +28 -13
  51. package/dist/nodes/Hudu/resources/assets/assets.handler.js.map +1 -1
  52. package/dist/nodes/Hudu/resources/assets/assets.handler.ts +72 -16
  53. package/dist/nodes/Hudu/resources/companies/companies.handler.js +21 -6
  54. package/dist/nodes/Hudu/resources/companies/companies.handler.js.map +1 -1
  55. package/dist/nodes/Hudu/resources/companies/companies.handler.ts +46 -10
  56. package/dist/nodes/Hudu/resources/groups/groups.handler.js +16 -2
  57. package/dist/nodes/Hudu/resources/groups/groups.handler.js.map +1 -1
  58. package/dist/nodes/Hudu/resources/groups/groups.handler.ts +37 -2
  59. package/dist/nodes/Hudu/resources/networks/networks.handler.js +15 -1
  60. package/dist/nodes/Hudu/resources/networks/networks.handler.js.map +1 -1
  61. package/dist/nodes/Hudu/resources/networks/networks.handler.ts +36 -1
  62. package/dist/nodes/Hudu/resources/password_folders/password_folders.handler.js +15 -2
  63. package/dist/nodes/Hudu/resources/password_folders/password_folders.handler.js.map +1 -1
  64. package/dist/nodes/Hudu/resources/password_folders/password_folders.handler.ts +36 -2
  65. package/dist/nodes/Hudu/resources/procedures/procedures.handler.js +18 -4
  66. package/dist/nodes/Hudu/resources/procedures/procedures.handler.js.map +1 -1
  67. package/dist/nodes/Hudu/resources/procedures/procedures.handler.ts +39 -4
  68. package/dist/nodes/Hudu/resources/users/users.handler.js +16 -2
  69. package/dist/nodes/Hudu/resources/users/users.handler.js.map +1 -1
  70. package/dist/nodes/Hudu/resources/users/users.handler.ts +37 -2
  71. package/dist/nodes/Hudu/resources/vlan_zones/vlan_zones.handler.js +17 -3
  72. package/dist/nodes/Hudu/resources/vlan_zones/vlan_zones.handler.js.map +1 -1
  73. package/dist/nodes/Hudu/resources/vlan_zones/vlan_zones.handler.ts +37 -3
  74. package/dist/nodes/Hudu/resources/vlans/vlans.handler.js +17 -3
  75. package/dist/nodes/Hudu/resources/vlans/vlans.handler.js.map +1 -1
  76. package/dist/nodes/Hudu/resources/vlans/vlans.handler.ts +38 -4
  77. package/dist/nodes/Hudu/resources/websites/websites.handler.js +23 -9
  78. package/dist/nodes/Hudu/resources/websites/websites.handler.js.map +1 -1
  79. package/dist/nodes/Hudu/resources/websites/websites.handler.ts +44 -10
  80. package/package.json +1 -1
@@ -1,4 +1,5 @@
1
1
  import type { IExecuteFunctions, IDataObject } from 'n8n-workflow';
2
+ import { NodeOperationError } from 'n8n-workflow';
2
3
  import { handleGetAllOperation, handleGetOperation } from '../../utils/operations';
3
4
  import type { GroupsOperation } from './groups.types';
4
5
  import { HUDU_API_CONSTANTS } from '../../utils/constants';
@@ -32,8 +33,42 @@ export async function handleGroupsOperation(
32
33
  }
33
34
 
34
35
  case 'get': {
35
- const id = this.getNodeParameter('id', i) as string;
36
- responseData = await handleGetOperation.call(this, resourceEndpoint, id, 'group');
36
+ const groupId = this.getNodeParameter('groupId', i) as string;
37
+ const identifierType = this.getNodeParameter('identifierType', i, 'id') as string;
38
+
39
+ if (identifierType === 'slug') {
40
+ // Use getAll with slug filter for slug-based retrieval
41
+ const groups = await handleGetAllOperation.call(
42
+ this,
43
+ resourceEndpoint,
44
+ 'groups',
45
+ { slug: groupId },
46
+ false, // returnAll
47
+ 1, // limit to 1 for efficiency
48
+ ) as IDataObject[];
49
+
50
+ if (groups.length === 0) {
51
+ throw new NodeOperationError(
52
+ this.getNode(),
53
+ `Group with slug "${groupId}" not found`,
54
+ { itemIndex: i },
55
+ );
56
+ }
57
+
58
+ if (groups.length > 1) {
59
+ // Should not happen if slugs are unique, but handle gracefully
60
+ throw new NodeOperationError(
61
+ this.getNode(),
62
+ `Multiple groups found with slug "${groupId}" (expected unique)`,
63
+ { itemIndex: i },
64
+ );
65
+ }
66
+
67
+ responseData = groups[0];
68
+ } else {
69
+ // Use existing handleGetOperation for ID-based retrieval
70
+ responseData = await handleGetOperation.call(this, resourceEndpoint, groupId, 'group');
71
+ }
37
72
  break;
38
73
  }
39
74
  }
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.handleNetworksOperation = handleNetworksOperation;
4
+ const n8n_workflow_1 = require("n8n-workflow");
4
5
  const utils_1 = require("../../utils");
5
6
  const operations_1 = require("../../utils/operations");
6
7
  const constants_1 = require("../../utils/constants");
@@ -37,7 +38,20 @@ async function handleNetworksOperation(operation, i) {
37
38
  }
38
39
  case 'get': {
39
40
  const networkId = this.getNodeParameter('networkId', i);
40
- return await operations_1.handleGetOperation.call(this, resourceEndpoint, networkId, 'network');
41
+ const identifierType = this.getNodeParameter('identifierType', i, 'id');
42
+ if (identifierType === 'slug') {
43
+ const networks = await operations_1.handleGetAllOperation.call(this, resourceEndpoint, 'networks', { slug: networkId }, false, 1);
44
+ if (networks.length === 0) {
45
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Network with slug "${networkId}" not found`, { itemIndex: i });
46
+ }
47
+ if (networks.length > 1) {
48
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Multiple networks found with slug "${networkId}" (expected unique)`, { itemIndex: i });
49
+ }
50
+ return networks[0];
51
+ }
52
+ else {
53
+ return await operations_1.handleGetOperation.call(this, resourceEndpoint, networkId, 'network');
54
+ }
41
55
  }
42
56
  case 'getAll': {
43
57
  const filters = this.getNodeParameter('filters', i);
@@ -1 +1 @@
1
- {"version":3,"file":"networks.handler.js","sourceRoot":"","sources":["../../../../../../src/nodes/Hudu/resources/networks/networks.handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"networks.handler.js","sourceRoot":"","sources":["../../../../../../src/nodes/Hudu/resources/networks/networks.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, type DateRangePreset, validateCompanyId } from '../../utils';
3
4
  import {
4
5
  handleGetAllOperation,
@@ -57,7 +58,41 @@ export async function handleNetworksOperation(
57
58
 
58
59
  case 'get': {
59
60
  const networkId = this.getNodeParameter('networkId', i) as string;
60
- return await handleGetOperation.call(this, resourceEndpoint, networkId, 'network');
61
+ const identifierType = this.getNodeParameter('identifierType', i, 'id') as string;
62
+
63
+ if (identifierType === 'slug') {
64
+ // Use getAll with slug filter for slug-based retrieval
65
+ const networks = await handleGetAllOperation.call(
66
+ this,
67
+ resourceEndpoint,
68
+ 'networks',
69
+ { slug: networkId },
70
+ false, // returnAll
71
+ 1, // limit to 1 for efficiency
72
+ ) as IDataObject[];
73
+
74
+ if (networks.length === 0) {
75
+ throw new NodeOperationError(
76
+ this.getNode(),
77
+ `Network with slug "${networkId}" not found`,
78
+ { itemIndex: i },
79
+ );
80
+ }
81
+
82
+ if (networks.length > 1) {
83
+ // Should not happen if slugs are unique, but handle gracefully
84
+ throw new NodeOperationError(
85
+ this.getNode(),
86
+ `Multiple networks found with slug "${networkId}" (expected unique)`,
87
+ { itemIndex: i },
88
+ );
89
+ }
90
+
91
+ return networks[0];
92
+ } else {
93
+ // Use existing handleGetOperation for ID-based retrieval
94
+ return await handleGetOperation.call(this, resourceEndpoint, networkId, 'network');
95
+ }
61
96
  }
62
97
 
63
98
  case 'getAll': {
@@ -9,8 +9,21 @@ async function handlePasswordFoldersOperation(operation, i) {
9
9
  let responseData = {};
10
10
  switch (operation) {
11
11
  case 'get': {
12
- const folderId = this.getNodeParameter('id', i);
13
- responseData = await operations_1.handleGetOperation.call(this, resourceEndpoint, folderId, 'password_folder');
12
+ const folderId = this.getNodeParameter('folderId', i);
13
+ const identifierType = this.getNodeParameter('identifierType', i, 'id');
14
+ if (identifierType === 'slug') {
15
+ const passwordFolders = await operations_1.handleGetAllOperation.call(this, resourceEndpoint, 'password_folders', { slug: folderId }, false, 1);
16
+ if (passwordFolders.length === 0) {
17
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Password folder with slug "${folderId}" not found`, { itemIndex: i });
18
+ }
19
+ if (passwordFolders.length > 1) {
20
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Multiple password folders found with slug "${folderId}" (expected unique)`, { itemIndex: i });
21
+ }
22
+ responseData = passwordFolders[0];
23
+ }
24
+ else {
25
+ responseData = await operations_1.handleGetOperation.call(this, resourceEndpoint, folderId, 'password_folder');
26
+ }
14
27
  break;
15
28
  }
16
29
  case 'getAll': {
@@ -1 +1 @@
1
- {"version":3,"file":"password_folders.handler.js","sourceRoot":"","sources":["../../../../../../src/nodes/Hudu/resources/password_folders/password_folders.handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"password_folders.handler.js","sourceRoot":"","sources":["../../../../../../src/nodes/Hudu/resources/password_folders/password_folders.handler.ts"],"names":[],"mappings":"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"}
@@ -15,8 +15,42 @@ export async function handlePasswordFoldersOperation(
15
15
 
16
16
  switch (operation) {
17
17
  case 'get': {
18
- const folderId = this.getNodeParameter('id', i) as string;
19
- responseData = await handleGetOperation.call(this, resourceEndpoint, folderId, 'password_folder');
18
+ const folderId = this.getNodeParameter('folderId', i) as string;
19
+ const identifierType = this.getNodeParameter('identifierType', i, 'id') as string;
20
+
21
+ if (identifierType === 'slug') {
22
+ // Use getAll with slug filter for slug-based retrieval
23
+ const passwordFolders = await handleGetAllOperation.call(
24
+ this,
25
+ resourceEndpoint,
26
+ 'password_folders',
27
+ { slug: folderId },
28
+ false, // returnAll
29
+ 1, // limit to 1 for efficiency
30
+ ) as IDataObject[];
31
+
32
+ if (passwordFolders.length === 0) {
33
+ throw new NodeOperationError(
34
+ this.getNode(),
35
+ `Password folder with slug "${folderId}" not found`,
36
+ { itemIndex: i },
37
+ );
38
+ }
39
+
40
+ if (passwordFolders.length > 1) {
41
+ // Should not happen if slugs are unique, but handle gracefully
42
+ throw new NodeOperationError(
43
+ this.getNode(),
44
+ `Multiple password folders found with slug "${folderId}" (expected unique)`,
45
+ { itemIndex: i },
46
+ );
47
+ }
48
+
49
+ responseData = passwordFolders[0];
50
+ } else {
51
+ // Use existing handleGetOperation for ID-based retrieval
52
+ responseData = await handleGetOperation.call(this, resourceEndpoint, folderId, 'password_folder');
53
+ }
20
54
  break;
21
55
  }
22
56
 
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.handleProceduresOperation = handleProceduresOperation;
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 procedures_1 = require("../../utils/operations/procedures");
@@ -24,8 +25,21 @@ async function handleProceduresOperation(operation, i) {
24
25
  break;
25
26
  }
26
27
  case 'get': {
27
- const procedureId = this.getNodeParameter('id', i);
28
- responseData = await operations_1.handleGetOperation.call(this, resourceEndpoint, procedureId, 'procedure');
28
+ const procedureId = this.getNodeParameter('procedureId', i);
29
+ const identifierType = this.getNodeParameter('identifierType', i, 'id');
30
+ if (identifierType === 'slug') {
31
+ const procedures = await operations_1.handleGetAllOperation.call(this, resourceEndpoint, 'procedures', { slug: procedureId }, false, 1);
32
+ if (procedures.length === 0) {
33
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Procedure with slug "${procedureId}" not found`, { itemIndex: i });
34
+ }
35
+ if (procedures.length > 1) {
36
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Multiple procedures found with slug "${procedureId}" (expected unique)`, { itemIndex: i });
37
+ }
38
+ responseData = procedures[0];
39
+ }
40
+ else {
41
+ responseData = await operations_1.handleGetOperation.call(this, resourceEndpoint, procedureId, 'procedure');
42
+ }
29
43
  break;
30
44
  }
31
45
  case 'getAll': {
@@ -58,7 +72,7 @@ async function handleProceduresOperation(operation, i) {
58
72
  break;
59
73
  }
60
74
  case 'update': {
61
- const procedureId = this.getNodeParameter('id', i);
75
+ const procedureId = this.getNodeParameter('procedureId', i);
62
76
  const updateFields = this.getNodeParameter('procedureUpdateFields', i);
63
77
  if (updateFields.company_id) {
64
78
  updateFields.company_id = (0, index_1.validateCompanyId)(updateFields.company_id, this.getNode(), 'Company ID');
@@ -68,7 +82,7 @@ async function handleProceduresOperation(operation, i) {
68
82
  break;
69
83
  }
70
84
  case 'delete': {
71
- const procedureId = this.getNodeParameter('id', i);
85
+ const procedureId = this.getNodeParameter('procedureId', i);
72
86
  responseData = await operations_1.handleDeleteOperation.call(this, resourceEndpoint, procedureId);
73
87
  break;
74
88
  }
@@ -1 +1 @@
1
- {"version":3,"file":"procedures.handler.js","sourceRoot":"","sources":["../../../../../../src/nodes/Hudu/resources/procedures/procedures.handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"procedures.handler.js","sourceRoot":"","sources":["../../../../../../src/nodes/Hudu/resources/procedures/procedures.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 {
4
5
  handleGetAllOperation,
@@ -45,8 +46,42 @@ export async function handleProceduresOperation(
45
46
  }
46
47
 
47
48
  case 'get': {
48
- const procedureId = this.getNodeParameter('id', i) as string;
49
- responseData = await handleGetOperation.call(this, resourceEndpoint, procedureId, 'procedure');
49
+ const procedureId = this.getNodeParameter('procedureId', i) as string;
50
+ const identifierType = this.getNodeParameter('identifierType', i, 'id') as string;
51
+
52
+ if (identifierType === 'slug') {
53
+ // Use getAll with slug filter for slug-based retrieval
54
+ const procedures = await handleGetAllOperation.call(
55
+ this,
56
+ resourceEndpoint,
57
+ 'procedures',
58
+ { slug: procedureId },
59
+ false, // returnAll
60
+ 1, // limit to 1 for efficiency
61
+ ) as IDataObject[];
62
+
63
+ if (procedures.length === 0) {
64
+ throw new NodeOperationError(
65
+ this.getNode(),
66
+ `Procedure with slug "${procedureId}" not found`,
67
+ { itemIndex: i },
68
+ );
69
+ }
70
+
71
+ if (procedures.length > 1) {
72
+ // Should not happen if slugs are unique, but handle gracefully
73
+ throw new NodeOperationError(
74
+ this.getNode(),
75
+ `Multiple procedures found with slug "${procedureId}" (expected unique)`,
76
+ { itemIndex: i },
77
+ );
78
+ }
79
+
80
+ responseData = procedures[0];
81
+ } else {
82
+ // Use existing handleGetOperation for ID-based retrieval
83
+ responseData = await handleGetOperation.call(this, resourceEndpoint, procedureId, 'procedure');
84
+ }
50
85
  break;
51
86
  }
52
87
 
@@ -97,7 +132,7 @@ export async function handleProceduresOperation(
97
132
  }
98
133
 
99
134
  case 'update': {
100
- const procedureId = this.getNodeParameter('id', i) as string;
135
+ const procedureId = this.getNodeParameter('procedureId', i) as string;
101
136
  const updateFields = this.getNodeParameter('procedureUpdateFields', i) as IDataObject;
102
137
 
103
138
  // Validate company_id if provided
@@ -116,7 +151,7 @@ export async function handleProceduresOperation(
116
151
  }
117
152
 
118
153
  case 'delete': {
119
- const procedureId = this.getNodeParameter('id', i) as string;
154
+ const procedureId = this.getNodeParameter('procedureId', i) as string;
120
155
  responseData = await handleDeleteOperation.call(this, resourceEndpoint, procedureId);
121
156
  break;
122
157
  }
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.handleUserOperation = handleUserOperation;
4
+ const n8n_workflow_1 = require("n8n-workflow");
4
5
  const constants_1 = require("../../utils/constants");
5
6
  const operations_1 = require("../../utils/operations");
6
7
  async function handleUserOperation(operation, i) {
@@ -13,8 +14,21 @@ async function handleUserOperation(operation, i) {
13
14
  return await operations_1.handleGetAllOperation.call(this, resourceEndpoint, 'users', filters, returnAll, limit);
14
15
  }
15
16
  case 'get': {
16
- const id = this.getNodeParameter('id', i);
17
- return await operations_1.handleGetOperation.call(this, resourceEndpoint, id, 'user');
17
+ const userId = this.getNodeParameter('userId', i);
18
+ const identifierType = this.getNodeParameter('identifierType', i, 'id');
19
+ if (identifierType === 'slug') {
20
+ const users = await operations_1.handleGetAllOperation.call(this, resourceEndpoint, 'users', { slug: userId }, false, 1);
21
+ if (users.length === 0) {
22
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), `User with slug "${userId}" not found`, { itemIndex: i });
23
+ }
24
+ if (users.length > 1) {
25
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Multiple users found with slug "${userId}" (expected unique)`, { itemIndex: i });
26
+ }
27
+ return users[0];
28
+ }
29
+ else {
30
+ return await operations_1.handleGetOperation.call(this, resourceEndpoint, userId, 'user');
31
+ }
18
32
  }
19
33
  }
20
34
  throw new Error(`Unsupported operation ${operation}`);
@@ -1 +1 @@
1
- {"version":3,"file":"users.handler.js","sourceRoot":"","sources":["../../../../../../src/nodes/Hudu/resources/users/users.handler.ts"],"names":[],"mappings":";;AAKA,kDA+BC;AAnCD,qDAA2D;AAC3D,uDAAmF;AAG5E,KAAK,UAAU,mBAAmB,CAEvC,SAAwB,EACxB,CAAS;IAET,MAAM,gBAAgB,GAAG,QAAQ,CAAC;IAElC,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,CAAY,CAAC;YACnE,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,CAAgB,CAAC;YACnE,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,EAAE,8BAAkB,CAAC,SAAS,CAAW,CAAC;YAExF,OAAO,MAAM,kCAAqB,CAAC,IAAI,CACrC,IAAI,EACJ,gBAAgB,EAChB,OAAO,EACP,OAAO,EACP,SAAS,EACT,KAAK,CACN,CAAC;QACJ,CAAC;QAED,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,MAAM,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAW,CAAC;YACpD,OAAO,MAAM,+BAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IAGD,MAAM,IAAI,KAAK,CAAC,yBAAyB,SAAS,EAAE,CAAC,CAAC;AACxD,CAAC"}
1
+ {"version":3,"file":"users.handler.js","sourceRoot":"","sources":["../../../../../../src/nodes/Hudu/resources/users/users.handler.ts"],"names":[],"mappings":";;AAMA,kDAiEC;AAtED,+CAAkD;AAClD,qDAA2D;AAC3D,uDAAmF;AAG5E,KAAK,UAAU,mBAAmB,CAEvC,SAAwB,EACxB,CAAS;IAET,MAAM,gBAAgB,GAAG,QAAQ,CAAC;IAElC,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,CAAY,CAAC;YACnE,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,CAAgB,CAAC;YACnE,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,EAAE,8BAAkB,CAAC,SAAS,CAAW,CAAC;YAExF,OAAO,MAAM,kCAAqB,CAAC,IAAI,CACrC,IAAI,EACJ,gBAAgB,EAChB,OAAO,EACP,OAAO,EACP,SAAS,EACT,KAAK,CACN,CAAC;QACJ,CAAC;QAED,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,CAAW,CAAC;YAC5D,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,CAAC,EAAE,IAAI,CAAW,CAAC;YAElF,IAAI,cAAc,KAAK,MAAM,EAAE,CAAC;gBAE9B,MAAM,KAAK,GAAG,MAAM,kCAAqB,CAAC,IAAI,CAC5C,IAAI,EACJ,gBAAgB,EAChB,OAAO,EACP,EAAE,IAAI,EAAE,MAAM,EAAE,EAChB,KAAK,EACL,CAAC,CACe,CAAC;gBAEnB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACvB,MAAM,IAAI,iCAAkB,CAC1B,IAAI,CAAC,OAAO,EAAE,EACd,mBAAmB,MAAM,aAAa,EACtC,EAAE,SAAS,EAAE,CAAC,EAAE,CACjB,CAAC;gBACJ,CAAC;gBAED,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAErB,MAAM,IAAI,iCAAkB,CAC1B,IAAI,CAAC,OAAO,EAAE,EACd,mCAAmC,MAAM,qBAAqB,EAC9D,EAAE,SAAS,EAAE,CAAC,EAAE,CACjB,CAAC;gBACJ,CAAC;gBAED,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;iBAAM,CAAC;gBAEN,OAAO,MAAM,+BAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YAC/E,CAAC;QACH,CAAC;IACH,CAAC;IAGD,MAAM,IAAI,KAAK,CAAC,yBAAyB,SAAS,EAAE,CAAC,CAAC;AACxD,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import type { IExecuteFunctions, IDataObject } from 'n8n-workflow';
2
+ import { NodeOperationError } from 'n8n-workflow';
2
3
  import { HUDU_API_CONSTANTS } from '../../utils/constants';
3
4
  import { handleGetOperation, handleGetAllOperation } from '../../utils/operations';
4
5
  import type { UserOperation } from './users.types';
@@ -27,8 +28,42 @@ export async function handleUserOperation(
27
28
  }
28
29
 
29
30
  case 'get': {
30
- const id = this.getNodeParameter('id', i) as number;
31
- return await handleGetOperation.call(this, resourceEndpoint, id, 'user');
31
+ const userId = this.getNodeParameter('userId', i) as string;
32
+ const identifierType = this.getNodeParameter('identifierType', i, 'id') as string;
33
+
34
+ if (identifierType === 'slug') {
35
+ // Use getAll with slug filter for slug-based retrieval
36
+ const users = await handleGetAllOperation.call(
37
+ this,
38
+ resourceEndpoint,
39
+ 'users',
40
+ { slug: userId },
41
+ false, // returnAll
42
+ 1, // limit to 1 for efficiency
43
+ ) as IDataObject[];
44
+
45
+ if (users.length === 0) {
46
+ throw new NodeOperationError(
47
+ this.getNode(),
48
+ `User with slug "${userId}" not found`,
49
+ { itemIndex: i },
50
+ );
51
+ }
52
+
53
+ if (users.length > 1) {
54
+ // Should not happen if slugs are unique, but handle gracefully
55
+ throw new NodeOperationError(
56
+ this.getNode(),
57
+ `Multiple users found with slug "${userId}" (expected unique)`,
58
+ { itemIndex: i },
59
+ );
60
+ }
61
+
62
+ return users[0];
63
+ } else {
64
+ // Use existing handleGetOperation for ID-based retrieval
65
+ return await handleGetOperation.call(this, resourceEndpoint, userId, 'user');
66
+ }
32
67
  }
33
68
  }
34
69
 
@@ -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":";;AAeA,4DA+NC;AA7OD,+CAAkD;AAClD,6CAAwE;AAExE,uDAMgC;AAEhC,qDAA2D;AAC3D,yDAAiE;AAE1D,KAAK,UAAU,wBAAwB,CAE5C,SAA4B,EAC5B,CAAS;IAET,MAAM,gBAAgB,GAAG,aAAa,CAAC;IAEvC,IAAI,0BAAY,CAAC,mBAAmB,EAAE,CAAC;QACrC,IAAA,sBAAQ,EAAC,kDAAkD,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IACxF,CAAC;IAED,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,CAAY,CAAC;YACnE,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,CAAgB,CAAC;YACnE,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,EAAE,8BAAkB,CAAC,SAAS,CAAW,CAAC;YAExF,IAAI,0BAAY,CAAC,eAAe,EAAE,CAAC;gBACjC,IAAA,sBAAQ,EAAC,8CAA8C,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;YAC1F,CAAC;YAED,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;gBACvB,OAAO,CAAC,UAAU,GAAG,IAAA,yBAAiB,EAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,YAAY,CAAC,CAAC;YAC3F,CAAC;YACD,MAAM,EAAE,GAAgB;gBACtB,GAAG,OAAO;aACX,CAAC;YAEF,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;gBACvB,MAAM,eAAe,GAAG,OAAO,CAAC,UAAyB,CAAC;gBAC1D,IAAI,eAAe,CAAC,KAAK,EAAE,CAAC;oBAC1B,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAoB,CAAC;oBACtD,IAAI,0BAAY,CAAC,oBAAoB,EAAE,CAAC;wBACtC,IAAA,sBAAQ,EAAC,mDAAmD,EAAE;4BAC5D,IAAI,EAAE,QAAQ,CAAC,IAAI;4BACnB,KAAK,EAAE,QAAQ,CAAC,KAAK;4BACrB,KAAK,EAAE,QAAQ,CAAC,KAAK;4BACrB,GAAG,EAAE,QAAQ,CAAC,GAAG;4BACjB,MAAM,EAAE,QAAQ,CAAC,MAAM;yBACxB,CAAC,CAAC;oBACL,CAAC;oBAED,OAAO,CAAC,UAAU,GAAG,IAAA,wBAAgB,EAAC;wBACpC,KAAK,EAAE;4BACL,IAAI,EAAE,QAAQ,CAAC,IAAoC;4BACnD,KAAK,EAAE,QAAQ,CAAC,KAAe;4BAC/B,KAAK,EAAE,QAAQ,CAAC,KAAe;4BAC/B,GAAG,EAAE,QAAQ,CAAC,GAAa;4BAC3B,MAAM,EAAE,QAAQ,CAAC,MAAyB;yBAC3C;qBACF,CAAC,CAAC;oBACH,EAAE,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;oBAEnC,IAAI,0BAAY,CAAC,oBAAoB,EAAE,CAAC;wBACtC,IAAA,sBAAQ,EAAC,8CAA8C,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;oBAC/E,CAAC;gBACH,CAAC;YACH,CAAC;YAED,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;gBACvB,MAAM,eAAe,GAAG,OAAO,CAAC,UAAyB,CAAC;gBAC1D,IAAI,eAAe,CAAC,KAAK,EAAE,CAAC;oBAC1B,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAoB,CAAC;oBACtD,IAAI,0BAAY,CAAC,oBAAoB,EAAE,CAAC;wBACtC,IAAA,sBAAQ,EAAC,mDAAmD,EAAE;4BAC5D,IAAI,EAAE,QAAQ,CAAC,IAAI;4BACnB,KAAK,EAAE,QAAQ,CAAC,KAAK;4BACrB,KAAK,EAAE,QAAQ,CAAC,KAAK;4BACrB,GAAG,EAAE,QAAQ,CAAC,GAAG;4BACjB,MAAM,EAAE,QAAQ,CAAC,MAAM;yBACxB,CAAC,CAAC;oBACL,CAAC;oBAED,OAAO,CAAC,UAAU,GAAG,IAAA,wBAAgB,EAAC;wBACpC,KAAK,EAAE;4BACL,IAAI,EAAE,QAAQ,CAAC,IAAoC;4BACnD,KAAK,EAAE,QAAQ,CAAC,KAAe;4BAC/B,KAAK,EAAE,QAAQ,CAAC,KAAe;4BAC/B,GAAG,EAAE,QAAQ,CAAC,GAAa;4BAC3B,MAAM,EAAE,QAAQ,CAAC,MAAyB;yBAC3C;qBACF,CAAC,CAAC;oBACH,EAAE,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;oBAEnC,IAAI,0BAAY,CAAC,oBAAoB,EAAE,CAAC;wBACtC,IAAA,sBAAQ,EAAC,8CAA8C,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;oBAC/E,CAAC;gBACH,CAAC;YACH,CAAC;YAED,IAAI,0BAAY,CAAC,YAAY,EAAE,CAAC;gBAC9B,IAAA,sBAAQ,EAAC,8CAA8C,EAAE,EAAE,CAAC,CAAC;YAC/D,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,kCAAqB,CAAC,IAAI,CAC7C,IAAI,EACJ,gBAAgB,EAChB,YAAY,EACZ,EAAE,EACF,SAAS,EACT,KAAK,CACN,CAAC;YAEF,IAAI,0BAAY,CAAC,kBAAkB,EAAE,CAAC;gBACpC,IAAA,sBAAQ,EAAC,oDAAoD,EAAE;oBAC7D,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;iBACjD,CAAC,CAAC;YACL,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC,CAAW,CAAC;YACpE,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,CAAC,EAAE,IAAI,CAAW,CAAC;YAElF,IAAI,0BAAY,CAAC,eAAe,EAAE,CAAC;gBACjC,IAAA,sBAAQ,EAAC,2CAA2C,EAAE,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC,CAAC;YACxF,CAAC;YAED,IAAI,cAAc,KAAK,MAAM,EAAE,CAAC;gBAE9B,MAAM,SAAS,GAAG,MAAM,kCAAqB,CAAC,IAAI,CAChD,IAAI,EACJ,gBAAgB,EAChB,YAAY,EACZ,EAAE,IAAI,EAAE,UAAU,EAAE,EACpB,KAAK,EACL,CAAC,CACe,CAAC;gBAEnB,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC3B,MAAM,IAAI,iCAAkB,CAC1B,IAAI,CAAC,OAAO,EAAE,EACd,wBAAwB,UAAU,aAAa,EAC/C,EAAE,SAAS,EAAE,CAAC,EAAE,CACjB,CAAC;gBACJ,CAAC;gBAED,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAEzB,MAAM,IAAI,iCAAkB,CAC1B,IAAI,CAAC,OAAO,EAAE,EACd,wCAAwC,UAAU,qBAAqB,EACvE,EAAE,SAAS,EAAE,CAAC,EAAE,CACjB,CAAC;gBACJ,CAAC;gBAED,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;YACtB,CAAC;iBAAM,CAAC;gBAEN,OAAO,MAAM,+BAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,gBAAgB,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;YACxF,CAAC;QACH,CAAC;QAED,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,SAAS,GAAG,IAAA,yBAAiB,EACjC,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC,CAAC,EACtC,IAAI,CAAC,OAAO,EAAE,EACd,YAAY,CACb,CAAC;YACF,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAW,CAAC;YACxD,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,CAAC,CAAW,CAAC;YAC1E,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,CAAC,CAAgB,CAAC;YAErF,IAAI,0BAAY,CAAC,eAAe,EAAE,CAAC;gBACjC,IAAA,sBAAQ,EAAC,8CAA8C,EAAE;oBACvD,SAAS;oBACT,IAAI;oBACJ,YAAY;oBACZ,gBAAgB;iBACjB,CAAC,CAAC;YACL,CAAC;YAED,MAAM,IAAI,GAAG;gBACX,SAAS,EAAE;oBACT,IAAI;oBACJ,cAAc,EAAE,YAAY;oBAC5B,UAAU,EAAE,SAAS;oBACrB,GAAG,gBAAgB;iBACpB;aACF,CAAC;YAEF,IAAI,0BAAY,CAAC,kBAAkB,EAAE,CAAC;gBACpC,IAAA,sBAAQ,EAAC,mDAAmD,EAAE,IAAI,CAAC,CAAC;YACtE,CAAC;YAED,OAAO,MAAM,kCAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,gBAAgB,EAAE,IAAI,CAAC,CAAC;QACxE,CAAC;QAED,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAW,CAAC;YACpD,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,sBAAsB,EAAE,CAAC,CAAgB,CAAC;YAErF,IAAI,0BAAY,CAAC,eAAe,EAAE,CAAC;gBACjC,IAAA,sBAAQ,EAAC,8CAA8C,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;YACjF,CAAC;YAED,MAAM,IAAI,GAAG;gBACX,SAAS,EAAE;oBACT,GAAG,YAAY;iBAChB;aACF,CAAC;YAEF,IAAI,0BAAY,CAAC,kBAAkB,EAAE,CAAC;gBACpC,IAAA,sBAAQ,EAAC,mDAAmD,EAAE,IAAI,CAAC,CAAC;YACtE,CAAC;YAED,OAAO,MAAM,kCAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;QAC5E,CAAC;QAED,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAW,CAAC;YAEpD,IAAI,0BAAY,CAAC,eAAe,EAAE,CAAC;gBACjC,IAAA,sBAAQ,EAAC,8CAA8C,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YACnE,CAAC;YAED,OAAO,MAAM,kCAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,yBAAyB,SAAS,EAAE,CAAC,CAAC;AACxD,CAAC"}
@@ -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': {