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.
- package/README.md +14 -0
- package/dist/nodes/Hudu/descriptions/articles.description.js +27 -1
- package/dist/nodes/Hudu/descriptions/articles.description.js.map +1 -1
- package/dist/nodes/Hudu/descriptions/articles.description.ts +30 -2
- package/dist/nodes/Hudu/descriptions/asset_layouts.description.js +29 -3
- package/dist/nodes/Hudu/descriptions/asset_layouts.description.js.map +1 -1
- package/dist/nodes/Hudu/descriptions/asset_layouts.description.ts +31 -3
- package/dist/nodes/Hudu/descriptions/asset_passwords.description.js +29 -3
- package/dist/nodes/Hudu/descriptions/asset_passwords.description.js.map +1 -1
- package/dist/nodes/Hudu/descriptions/asset_passwords.description.ts +31 -3
- package/dist/nodes/Hudu/descriptions/assets.description.js +26 -59
- package/dist/nodes/Hudu/descriptions/assets.description.js.map +1 -1
- package/dist/nodes/Hudu/descriptions/assets.description.ts +29 -60
- package/dist/nodes/Hudu/descriptions/companies.description.js +30 -4
- package/dist/nodes/Hudu/descriptions/companies.description.js.map +1 -1
- package/dist/nodes/Hudu/descriptions/companies.description.ts +33 -4
- package/dist/nodes/Hudu/descriptions/groups.description.js +30 -4
- package/dist/nodes/Hudu/descriptions/groups.description.js.map +1 -1
- package/dist/nodes/Hudu/descriptions/groups.description.ts +31 -4
- package/dist/nodes/Hudu/descriptions/networks.description.js +29 -3
- package/dist/nodes/Hudu/descriptions/networks.description.js.map +1 -1
- package/dist/nodes/Hudu/descriptions/networks.description.ts +30 -3
- package/dist/nodes/Hudu/descriptions/passwordFolders.descriptions.js +30 -4
- package/dist/nodes/Hudu/descriptions/passwordFolders.descriptions.js.map +1 -1
- package/dist/nodes/Hudu/descriptions/passwordFolders.descriptions.ts +31 -4
- package/dist/nodes/Hudu/descriptions/procedures.description.js +30 -4
- package/dist/nodes/Hudu/descriptions/procedures.description.js.map +1 -1
- package/dist/nodes/Hudu/descriptions/procedures.description.ts +33 -4
- package/dist/nodes/Hudu/descriptions/users.description.js +30 -4
- package/dist/nodes/Hudu/descriptions/users.description.js.map +1 -1
- package/dist/nodes/Hudu/descriptions/users.description.ts +31 -4
- package/dist/nodes/Hudu/descriptions/vlan_zones.description.js +41 -1
- package/dist/nodes/Hudu/descriptions/vlan_zones.description.js.map +1 -1
- package/dist/nodes/Hudu/descriptions/vlan_zones.description.ts +44 -2
- package/dist/nodes/Hudu/descriptions/vlans.description.js +41 -1
- package/dist/nodes/Hudu/descriptions/vlans.description.js.map +1 -1
- package/dist/nodes/Hudu/descriptions/vlans.description.ts +44 -2
- package/dist/nodes/Hudu/descriptions/websites.description.js +30 -4
- package/dist/nodes/Hudu/descriptions/websites.description.js.map +1 -1
- package/dist/nodes/Hudu/descriptions/websites.description.ts +33 -4
- package/dist/nodes/Hudu/resources/articles/articles.handler.js +15 -1
- package/dist/nodes/Hudu/resources/articles/articles.handler.js.map +1 -1
- package/dist/nodes/Hudu/resources/articles/articles.handler.ts +40 -6
- package/dist/nodes/Hudu/resources/asset_layouts/asset_layouts.handler.js +16 -2
- package/dist/nodes/Hudu/resources/asset_layouts/asset_layouts.handler.js.map +1 -1
- package/dist/nodes/Hudu/resources/asset_layouts/asset_layouts.handler.ts +36 -3
- package/dist/nodes/Hudu/resources/asset_passwords/asset_passwords.handler.js +14 -1
- package/dist/nodes/Hudu/resources/asset_passwords/asset_passwords.handler.js.map +1 -1
- package/dist/nodes/Hudu/resources/asset_passwords/asset_passwords.handler.ts +36 -1
- package/dist/nodes/Hudu/resources/assets/assets.handler.js +28 -13
- package/dist/nodes/Hudu/resources/assets/assets.handler.js.map +1 -1
- package/dist/nodes/Hudu/resources/assets/assets.handler.ts +72 -16
- package/dist/nodes/Hudu/resources/companies/companies.handler.js +21 -6
- package/dist/nodes/Hudu/resources/companies/companies.handler.js.map +1 -1
- package/dist/nodes/Hudu/resources/companies/companies.handler.ts +46 -10
- package/dist/nodes/Hudu/resources/groups/groups.handler.js +16 -2
- package/dist/nodes/Hudu/resources/groups/groups.handler.js.map +1 -1
- package/dist/nodes/Hudu/resources/groups/groups.handler.ts +37 -2
- package/dist/nodes/Hudu/resources/networks/networks.handler.js +15 -1
- package/dist/nodes/Hudu/resources/networks/networks.handler.js.map +1 -1
- package/dist/nodes/Hudu/resources/networks/networks.handler.ts +36 -1
- package/dist/nodes/Hudu/resources/password_folders/password_folders.handler.js +15 -2
- package/dist/nodes/Hudu/resources/password_folders/password_folders.handler.js.map +1 -1
- package/dist/nodes/Hudu/resources/password_folders/password_folders.handler.ts +36 -2
- package/dist/nodes/Hudu/resources/procedures/procedures.handler.js +18 -4
- package/dist/nodes/Hudu/resources/procedures/procedures.handler.js.map +1 -1
- package/dist/nodes/Hudu/resources/procedures/procedures.handler.ts +39 -4
- package/dist/nodes/Hudu/resources/users/users.handler.js +16 -2
- package/dist/nodes/Hudu/resources/users/users.handler.js.map +1 -1
- package/dist/nodes/Hudu/resources/users/users.handler.ts +37 -2
- package/dist/nodes/Hudu/resources/vlan_zones/vlan_zones.handler.js +17 -3
- package/dist/nodes/Hudu/resources/vlan_zones/vlan_zones.handler.js.map +1 -1
- package/dist/nodes/Hudu/resources/vlan_zones/vlan_zones.handler.ts +37 -3
- package/dist/nodes/Hudu/resources/vlans/vlans.handler.js +17 -3
- package/dist/nodes/Hudu/resources/vlans/vlans.handler.js.map +1 -1
- package/dist/nodes/Hudu/resources/vlans/vlans.handler.ts +38 -4
- package/dist/nodes/Hudu/resources/websites/websites.handler.js +23 -9
- package/dist/nodes/Hudu/resources/websites/websites.handler.js.map +1 -1
- package/dist/nodes/Hudu/resources/websites/websites.handler.ts +44 -10
- 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
|
|
36
|
-
|
|
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
|
-
|
|
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":";;
|
|
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
|
-
|
|
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('
|
|
13
|
-
|
|
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":";;AAOA,
|
|
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('
|
|
19
|
-
|
|
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('
|
|
28
|
-
|
|
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('
|
|
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('
|
|
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":";;
|
|
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('
|
|
49
|
-
|
|
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('
|
|
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('
|
|
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
|
|
17
|
-
|
|
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":";;
|
|
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
|
|
31
|
-
|
|
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
|
|
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', {
|
|
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":";;
|
|
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
|
|
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', {
|
|
133
|
+
debugLog('[ResourceParams] VLAN Zone get parameters', { vlanZoneId, identifierType });
|
|
132
134
|
}
|
|
133
135
|
|
|
134
|
-
|
|
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': {
|