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.
- 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 +29 -3
- package/dist/nodes/Hudu/descriptions/assets.description.js.map +1 -1
- package/dist/nodes/Hudu/descriptions/assets.description.ts +32 -3
- 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/magic_dash.description.ts +308 -308
- 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 +20 -9
- package/dist/nodes/Hudu/resources/assets/assets.handler.js.map +1 -1
- package/dist/nodes/Hudu/resources/assets/assets.handler.ts +60 -12
- 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/magic_dash/magic_dash.handler.ts +100 -100
- 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/dist/nodes/Hudu/utils/operations/magic_dash.ts +68 -68
- 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
|
|
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': {
|
|
@@ -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
|
|
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', {
|
|
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":";;
|
|
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
|
|
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', {
|
|
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
|
|
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', {
|
|
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
|
|
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', {
|
|
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,
|
|
122
|
+
return await operations_1.handleUpdateOperation.call(this, resourceEndpoint, websiteId, body);
|
|
109
123
|
}
|
|
110
124
|
case 'delete': {
|
|
111
|
-
const
|
|
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', {
|
|
127
|
+
(0, debugConfig_1.debugLog)('[ResourceParams] Websites delete parameters', { websiteId });
|
|
114
128
|
}
|
|
115
|
-
return await operations_1.handleDeleteOperation.call(this, resourceEndpoint,
|
|
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":";;
|
|
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
|
|
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', {
|
|
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
|
|
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', {
|
|
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,
|
|
185
|
+
return await handleUpdateOperation.call(this, resourceEndpoint, websiteId, body);
|
|
152
186
|
}
|
|
153
187
|
|
|
154
188
|
case 'delete': {
|
|
155
|
-
const
|
|
189
|
+
const websiteId = this.getNodeParameter('websiteId', i) as string;
|
|
156
190
|
|
|
157
191
|
if (DEBUG_CONFIG.RESOURCE_PARAMS) {
|
|
158
|
-
debugLog('[ResourceParams] Websites delete parameters', {
|
|
192
|
+
debugLog('[ResourceParams] Websites delete parameters', { websiteId });
|
|
159
193
|
}
|
|
160
194
|
|
|
161
|
-
return await handleDeleteOperation.call(this, resourceEndpoint,
|
|
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
|
}
|