n8n-nodes-hudu 1.4.7 → 1.5.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 +16 -5
- package/dist/nodes/Hudu/descriptions/activity_logs.description.js +1 -1
- package/dist/nodes/Hudu/descriptions/activity_logs.description.js.map +1 -1
- package/dist/nodes/Hudu/descriptions/activity_logs.description.ts +1 -1
- package/dist/nodes/Hudu/descriptions/articles.description.ts +1 -1
- package/dist/nodes/Hudu/descriptions/asset_layout_fields.description.js +24 -0
- package/dist/nodes/Hudu/descriptions/asset_layout_fields.description.js.map +1 -1
- package/dist/nodes/Hudu/descriptions/asset_layout_fields.description.ts +24 -0
- package/dist/nodes/Hudu/descriptions/asset_layouts.description.js +58 -0
- package/dist/nodes/Hudu/descriptions/asset_layouts.description.js.map +1 -1
- package/dist/nodes/Hudu/descriptions/asset_layouts.description.ts +58 -0
- package/dist/nodes/Hudu/descriptions/cards.description.js +5 -43
- package/dist/nodes/Hudu/descriptions/cards.description.js.map +1 -1
- package/dist/nodes/Hudu/descriptions/cards.description.ts +6 -43
- package/dist/nodes/Hudu/descriptions/companies.description.js +0 -29
- package/dist/nodes/Hudu/descriptions/companies.description.js.map +1 -1
- package/dist/nodes/Hudu/descriptions/companies.description.ts +0 -29
- package/dist/nodes/Hudu/descriptions/exports.description.js +102 -0
- package/dist/nodes/Hudu/descriptions/exports.description.js.map +1 -0
- package/dist/nodes/Hudu/descriptions/exports.description.ts +104 -0
- package/dist/nodes/Hudu/descriptions/index.js +2 -0
- package/dist/nodes/Hudu/descriptions/index.js.map +1 -1
- package/dist/nodes/Hudu/descriptions/index.ts +2 -0
- package/dist/nodes/Hudu/descriptions/ip_addresses.description.js +0 -40
- package/dist/nodes/Hudu/descriptions/ip_addresses.description.js.map +1 -1
- package/dist/nodes/Hudu/descriptions/ip_addresses.description.ts +1 -41
- package/dist/nodes/Hudu/descriptions/list_options.description.js +2 -2
- package/dist/nodes/Hudu/descriptions/list_options.description.js.map +1 -1
- package/dist/nodes/Hudu/descriptions/list_options.description.ts +2 -2
- package/dist/nodes/Hudu/descriptions/lists.description.js +79 -0
- package/dist/nodes/Hudu/descriptions/lists.description.js.map +1 -1
- package/dist/nodes/Hudu/descriptions/lists.description.ts +81 -0
- package/dist/nodes/Hudu/descriptions/magic_dash.description.js +34 -0
- package/dist/nodes/Hudu/descriptions/magic_dash.description.js.map +1 -1
- package/dist/nodes/Hudu/descriptions/magic_dash.description.ts +308 -270
- package/dist/nodes/Hudu/descriptions/matchers.description.js +3 -3
- package/dist/nodes/Hudu/descriptions/matchers.description.js.map +1 -1
- package/dist/nodes/Hudu/descriptions/matchers.description.ts +3 -3
- package/dist/nodes/Hudu/descriptions/networks.description.js +12 -22
- package/dist/nodes/Hudu/descriptions/networks.description.js.map +1 -1
- package/dist/nodes/Hudu/descriptions/networks.description.ts +12 -22
- package/dist/nodes/Hudu/descriptions/procedures.description.js +71 -1
- package/dist/nodes/Hudu/descriptions/procedures.description.js.map +1 -1
- package/dist/nodes/Hudu/descriptions/procedures.description.ts +71 -1
- package/dist/nodes/Hudu/descriptions/public_photos.description.js +2 -0
- package/dist/nodes/Hudu/descriptions/public_photos.description.js.map +1 -1
- package/dist/nodes/Hudu/descriptions/public_photos.description.ts +2 -0
- package/dist/nodes/Hudu/descriptions/relations.description.js +0 -1
- package/dist/nodes/Hudu/descriptions/relations.description.js.map +1 -1
- package/dist/nodes/Hudu/descriptions/relations.description.ts +0 -1
- package/dist/nodes/Hudu/descriptions/s3_exports.description.js +27 -0
- package/dist/nodes/Hudu/descriptions/s3_exports.description.js.map +1 -0
- package/dist/nodes/Hudu/descriptions/s3_exports.description.ts +28 -0
- package/dist/nodes/Hudu/descriptions/uploads.description.js +62 -0
- package/dist/nodes/Hudu/descriptions/uploads.description.js.map +1 -1
- package/dist/nodes/Hudu/descriptions/uploads.description.ts +65 -0
- package/dist/nodes/Hudu/descriptions/vlans.description.js +40 -0
- package/dist/nodes/Hudu/descriptions/vlans.description.js.map +1 -1
- package/dist/nodes/Hudu/descriptions/vlans.description.ts +43 -0
- package/dist/nodes/Hudu/resources/activity_logs/activity_logs.handler.js +17 -1
- package/dist/nodes/Hudu/resources/activity_logs/activity_logs.handler.js.map +1 -1
- package/dist/nodes/Hudu/resources/activity_logs/activity_logs.handler.ts +23 -1
- package/dist/nodes/Hudu/resources/articles/articles.handler.js +0 -16
- package/dist/nodes/Hudu/resources/articles/articles.handler.js.map +1 -1
- package/dist/nodes/Hudu/resources/articles/articles.handler.ts +0 -17
- package/dist/nodes/Hudu/resources/asset_layout_fields/asset_layout_fields.handler.js +2 -0
- package/dist/nodes/Hudu/resources/asset_layout_fields/asset_layout_fields.handler.js.map +1 -1
- package/dist/nodes/Hudu/resources/asset_layout_fields/asset_layout_fields.handler.ts +2 -0
- package/dist/nodes/Hudu/resources/asset_layout_fields/asset_layout_fields.types.ts +3 -1
- package/dist/nodes/Hudu/resources/asset_layouts/asset_layouts.handler.js +10 -1
- 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 +12 -1
- package/dist/nodes/Hudu/resources/assets/assets.handler.js +3 -4
- package/dist/nodes/Hudu/resources/assets/assets.handler.js.map +1 -1
- package/dist/nodes/Hudu/resources/assets/assets.handler.ts +3 -4
- package/dist/nodes/Hudu/resources/cards/cards.handler.js +6 -0
- package/dist/nodes/Hudu/resources/cards/cards.handler.js.map +1 -1
- package/dist/nodes/Hudu/resources/cards/cards.handler.ts +13 -0
- package/dist/nodes/Hudu/resources/cards/cards.types.ts +0 -6
- package/dist/nodes/Hudu/resources/companies/companies.handler.js +1 -2
- package/dist/nodes/Hudu/resources/companies/companies.handler.js.map +1 -1
- package/dist/nodes/Hudu/resources/companies/companies.handler.ts +3 -2
- package/dist/nodes/Hudu/resources/expirations/expirations.handler.js +1 -1
- package/dist/nodes/Hudu/resources/expirations/expirations.handler.js.map +1 -1
- package/dist/nodes/Hudu/resources/expirations/expirations.handler.ts +1 -1
- package/dist/nodes/Hudu/resources/exports/exports.handler.js +36 -0
- package/dist/nodes/Hudu/resources/exports/exports.handler.js.map +1 -0
- package/dist/nodes/Hudu/resources/exports/exports.handler.ts +54 -0
- package/dist/nodes/Hudu/resources/exports/exports.types.js +3 -0
- package/dist/nodes/Hudu/resources/exports/exports.types.js.map +1 -0
- package/dist/nodes/Hudu/resources/exports/exports.types.ts +15 -0
- package/dist/nodes/Hudu/resources/groups/groups.handler.js +1 -1
- package/dist/nodes/Hudu/resources/groups/groups.handler.js.map +1 -1
- package/dist/nodes/Hudu/resources/groups/groups.handler.ts +2 -2
- package/dist/nodes/Hudu/resources/index.js +4 -0
- package/dist/nodes/Hudu/resources/index.js.map +1 -1
- package/dist/nodes/Hudu/resources/index.ts +4 -0
- package/dist/nodes/Hudu/resources/list_options/list_options.handler.js +2 -2
- package/dist/nodes/Hudu/resources/list_options/list_options.handler.js.map +1 -1
- package/dist/nodes/Hudu/resources/list_options/list_options.handler.ts +4 -4
- package/dist/nodes/Hudu/resources/lists/lists.handler.js +39 -0
- package/dist/nodes/Hudu/resources/lists/lists.handler.js.map +1 -1
- package/dist/nodes/Hudu/resources/lists/lists.handler.ts +54 -0
- package/dist/nodes/Hudu/resources/magic_dash/magic_dash.handler.js +10 -1
- package/dist/nodes/Hudu/resources/magic_dash/magic_dash.handler.js.map +1 -1
- package/dist/nodes/Hudu/resources/magic_dash/magic_dash.handler.ts +100 -85
- package/dist/nodes/Hudu/resources/magic_dash/magic_dash.types.ts +6 -1
- package/dist/nodes/Hudu/resources/matchers/matchers.handler.js +1 -1
- package/dist/nodes/Hudu/resources/matchers/matchers.handler.js.map +1 -1
- package/dist/nodes/Hudu/resources/matchers/matchers.handler.ts +1 -1
- package/dist/nodes/Hudu/resources/networks/networks.handler.js +2 -5
- package/dist/nodes/Hudu/resources/networks/networks.handler.js.map +1 -1
- package/dist/nodes/Hudu/resources/networks/networks.handler.ts +6 -4
- package/dist/nodes/Hudu/resources/networks/networks.types.ts +1 -1
- package/dist/nodes/Hudu/resources/procedure_tasks/procedure_tasks.handler.js +19 -2
- package/dist/nodes/Hudu/resources/procedure_tasks/procedure_tasks.handler.js.map +1 -1
- package/dist/nodes/Hudu/resources/procedure_tasks/procedure_tasks.handler.ts +19 -2
- package/dist/nodes/Hudu/resources/procedures/procedures.handler.js +21 -22
- package/dist/nodes/Hudu/resources/procedures/procedures.handler.js.map +1 -1
- package/dist/nodes/Hudu/resources/procedures/procedures.handler.ts +42 -32
- package/dist/nodes/Hudu/resources/procedures/procedures.types.ts +0 -2
- package/dist/nodes/Hudu/resources/public_photos/public_photos.handler.js +1 -1
- package/dist/nodes/Hudu/resources/public_photos/public_photos.handler.js.map +1 -1
- package/dist/nodes/Hudu/resources/public_photos/public_photos.handler.ts +1 -1
- package/dist/nodes/Hudu/resources/public_photos/public_photos.types.ts +2 -1
- package/dist/nodes/Hudu/resources/s3_exports/s3_exports.handler.js +14 -0
- package/dist/nodes/Hudu/resources/s3_exports/s3_exports.handler.js.map +1 -0
- package/dist/nodes/Hudu/resources/s3_exports/s3_exports.handler.ts +22 -0
- package/dist/nodes/Hudu/resources/s3_exports/s3_exports.types.js +3 -0
- package/dist/nodes/Hudu/resources/s3_exports/s3_exports.types.js.map +1 -0
- package/dist/nodes/Hudu/resources/s3_exports/s3_exports.types.ts +3 -0
- package/dist/nodes/Hudu/resources/uploads/uploads.handler.js +21 -0
- package/dist/nodes/Hudu/resources/uploads/uploads.handler.js.map +1 -1
- package/dist/nodes/Hudu/resources/uploads/uploads.handler.ts +30 -0
- package/dist/nodes/Hudu/resources/uploads/uploads.types.ts +1 -1
- package/dist/nodes/Hudu/utils/dateUtils.js +27 -0
- package/dist/nodes/Hudu/utils/dateUtils.js.map +1 -1
- package/dist/nodes/Hudu/utils/dateUtils.ts +44 -0
- package/dist/nodes/Hudu/utils/operations/magic_dash.ts +68 -68
- package/package.json +1 -1
|
@@ -6,9 +6,9 @@ import {
|
|
|
6
6
|
handleCreateOperation,
|
|
7
7
|
handleUpdateOperation,
|
|
8
8
|
handleDeleteOperation,
|
|
9
|
-
handleArchiveOperation,
|
|
10
9
|
} from '../../utils/operations';
|
|
11
10
|
import { handleProcedureKickoffOperation } from '../../utils/operations/procedures';
|
|
11
|
+
import { huduApiRequest } from '../../utils/requestUtils';
|
|
12
12
|
import type { ProceduresOperations } from './procedures.types';
|
|
13
13
|
import type { DateRangePreset } from '../../utils/dateUtils';
|
|
14
14
|
import { HUDU_API_CONSTANTS } from '../../utils/constants';
|
|
@@ -40,7 +40,7 @@ export async function handleProceduresOperation(
|
|
|
40
40
|
...additionalFields,
|
|
41
41
|
};
|
|
42
42
|
|
|
43
|
-
responseData = await handleCreateOperation.call(this, resourceEndpoint,
|
|
43
|
+
responseData = await handleCreateOperation.call(this, resourceEndpoint, body);
|
|
44
44
|
break;
|
|
45
45
|
}
|
|
46
46
|
|
|
@@ -121,64 +121,74 @@ export async function handleProceduresOperation(
|
|
|
121
121
|
break;
|
|
122
122
|
}
|
|
123
123
|
|
|
124
|
-
|
|
125
|
-
const procedureId = this.getNodeParameter('id', i) as string;
|
|
126
|
-
responseData = await handleArchiveOperation.call(this, resourceEndpoint, procedureId, true);
|
|
127
|
-
break;
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
case 'unarchive': {
|
|
131
|
-
const procedureId = this.getNodeParameter('id', i) as string;
|
|
132
|
-
responseData = await handleArchiveOperation.call(this, resourceEndpoint, procedureId, false);
|
|
133
|
-
break;
|
|
134
|
-
}
|
|
124
|
+
|
|
135
125
|
|
|
136
126
|
case 'createFromTemplate': {
|
|
137
127
|
const templateId = this.getNodeParameter('template_id', i) as string;
|
|
138
128
|
const additionalFields = this.getNodeParameter('additionalFields', i) as IDataObject;
|
|
139
129
|
|
|
140
|
-
|
|
130
|
+
const qs: IDataObject = {};
|
|
131
|
+
|
|
132
|
+
// Validate and add company_id if provided
|
|
141
133
|
if (additionalFields.company_id) {
|
|
142
|
-
|
|
134
|
+
qs.company_id = validateCompanyId(
|
|
143
135
|
additionalFields.company_id,
|
|
144
136
|
this.getNode(),
|
|
145
137
|
'Company ID'
|
|
146
138
|
);
|
|
147
139
|
}
|
|
148
140
|
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
141
|
+
// Add name if provided
|
|
142
|
+
if (additionalFields.name) {
|
|
143
|
+
qs.name = additionalFields.name as string;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
// Add description if provided
|
|
147
|
+
if (additionalFields.description) {
|
|
148
|
+
qs.description = additionalFields.description as string;
|
|
149
|
+
}
|
|
152
150
|
|
|
153
|
-
responseData = await
|
|
151
|
+
responseData = await huduApiRequest.call(
|
|
154
152
|
this,
|
|
153
|
+
'POST',
|
|
155
154
|
`${resourceEndpoint}/${templateId}/create_from_template`,
|
|
156
|
-
{
|
|
155
|
+
{},
|
|
156
|
+
qs,
|
|
157
|
+
'procedure',
|
|
157
158
|
);
|
|
158
159
|
break;
|
|
159
160
|
}
|
|
160
161
|
|
|
161
162
|
case 'duplicate': {
|
|
162
163
|
const procedureId = this.getNodeParameter('id', i) as string;
|
|
164
|
+
const companyId = validateCompanyId(
|
|
165
|
+
this.getNodeParameter('companyId', i),
|
|
166
|
+
this.getNode(),
|
|
167
|
+
'Company ID'
|
|
168
|
+
);
|
|
163
169
|
const additionalFields = this.getNodeParameter('additionalFields', i) as IDataObject;
|
|
164
170
|
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
171
|
+
const qs: IDataObject = {
|
|
172
|
+
company_id: companyId,
|
|
173
|
+
};
|
|
174
|
+
|
|
175
|
+
// Add name if provided
|
|
176
|
+
if (additionalFields.name) {
|
|
177
|
+
qs.name = additionalFields.name as string;
|
|
172
178
|
}
|
|
173
179
|
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
180
|
+
// Add description if provided
|
|
181
|
+
if (additionalFields.description) {
|
|
182
|
+
qs.description = additionalFields.description as string;
|
|
183
|
+
}
|
|
177
184
|
|
|
178
|
-
responseData = await
|
|
185
|
+
responseData = await huduApiRequest.call(
|
|
179
186
|
this,
|
|
187
|
+
'POST',
|
|
180
188
|
`${resourceEndpoint}/${procedureId}/duplicate`,
|
|
181
|
-
{
|
|
189
|
+
{},
|
|
190
|
+
qs,
|
|
191
|
+
'procedure',
|
|
182
192
|
);
|
|
183
193
|
break;
|
|
184
194
|
}
|
|
@@ -62,7 +62,7 @@ async function handlePublicPhotoOperation(operation, i) {
|
|
|
62
62
|
const queryParams = { page, page_size: pageSize };
|
|
63
63
|
const batch = await utils_1.huduApiRequest.call(this, 'GET', '/public_photos', {}, queryParams, 'public_photos');
|
|
64
64
|
if (Array.isArray(batch) && batch.length > 0) {
|
|
65
|
-
foundPhoto = batch.find(photo => photo.
|
|
65
|
+
foundPhoto = batch.find(photo => photo.numeric_id === photoId);
|
|
66
66
|
if (foundPhoto) {
|
|
67
67
|
break;
|
|
68
68
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public_photos.handler.js","sourceRoot":"","sources":["../../../../../../src/nodes/Hudu/resources/public_photos/public_photos.handler.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"public_photos.handler.js","sourceRoot":"","sources":["../../../../../../src/nodes/Hudu/resources/public_photos/public_photos.handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -111,7 +111,7 @@ export async function handlePublicPhotoOperation(
|
|
|
111
111
|
) as IPublicPhoto[];
|
|
112
112
|
|
|
113
113
|
if (Array.isArray(batch) && batch.length > 0) {
|
|
114
|
-
foundPhoto = batch.find(photo => photo.
|
|
114
|
+
foundPhoto = batch.find(photo => (photo as IPublicPhoto).numeric_id === photoId);
|
|
115
115
|
// If found, break early
|
|
116
116
|
if (foundPhoto) {
|
|
117
117
|
break;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import type { IDataObject } from 'n8n-workflow';
|
|
2
2
|
|
|
3
3
|
export interface IPublicPhoto extends IDataObject {
|
|
4
|
-
id:
|
|
4
|
+
id: string; // Slug ID of the public photo (API v2.39.6)
|
|
5
|
+
numeric_id: number; // Numeric ID for backward compatibility
|
|
5
6
|
url: string; // The URL of the public photo
|
|
6
7
|
record_type: string; // The type of record the public photo is associated with (e.g., Article)
|
|
7
8
|
record_id: number; // The ID of the record the public photo is associated with
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.handleS3ExportsOperation = handleS3ExportsOperation;
|
|
4
|
+
const operations_1 = require("../../utils/operations");
|
|
5
|
+
async function handleS3ExportsOperation(operation, i) {
|
|
6
|
+
const resourceEndpoint = '/s3_exports';
|
|
7
|
+
switch (operation) {
|
|
8
|
+
case 'create': {
|
|
9
|
+
return await operations_1.handleCreateOperation.call(this, resourceEndpoint, {});
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
return {};
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=s3_exports.handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"s3_exports.handler.js","sourceRoot":"","sources":["../../../../../../src/nodes/Hudu/resources/s3_exports/s3_exports.handler.ts"],"names":[],"mappings":";;AAIA,4DAeC;AAlBD,uDAA+D;AAGxD,KAAK,UAAU,wBAAwB,CAE5C,SAA6B,EAC7B,CAAS;IAET,MAAM,gBAAgB,GAAG,aAAa,CAAC;IAEvC,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,QAAQ,CAAC,CAAC,CAAC;YAEd,OAAO,MAAM,kCAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,gBAAgB,EAAE,EAAiB,CAAC,CAAC;QACrF,CAAC;IACH,CAAC;IAED,OAAO,EAAiB,CAAC;AAC3B,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { IDataObject, IExecuteFunctions } from 'n8n-workflow';
|
|
2
|
+
import { handleCreateOperation } from '../../utils/operations';
|
|
3
|
+
import type { S3ExportsOperation } from './s3_exports.types';
|
|
4
|
+
|
|
5
|
+
export async function handleS3ExportsOperation(
|
|
6
|
+
this: IExecuteFunctions,
|
|
7
|
+
operation: S3ExportsOperation,
|
|
8
|
+
i: number,
|
|
9
|
+
): Promise<IDataObject | IDataObject[]> {
|
|
10
|
+
const resourceEndpoint = '/s3_exports';
|
|
11
|
+
|
|
12
|
+
switch (operation) {
|
|
13
|
+
case 'create': {
|
|
14
|
+
// No parameters required; credentials must be configured in Hudu account settings
|
|
15
|
+
return await handleCreateOperation.call(this, resourceEndpoint, {} as IDataObject);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
return {} as IDataObject;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"s3_exports.types.js","sourceRoot":"","sources":["../../../../../../src/nodes/Hudu/resources/s3_exports/s3_exports.types.ts"],"names":[],"mappings":""}
|
|
@@ -6,6 +6,27 @@ const constants_1 = require("../../utils/constants");
|
|
|
6
6
|
async function handleUploadOperation(operation, i) {
|
|
7
7
|
let responseData;
|
|
8
8
|
switch (operation) {
|
|
9
|
+
case 'create': {
|
|
10
|
+
const binaryPropertyName = this.getNodeParameter('file', i);
|
|
11
|
+
const uploadableType = this.getNodeParameter('uploadable_type', i);
|
|
12
|
+
const uploadableId = this.getNodeParameter('uploadable_id', i);
|
|
13
|
+
const binaryData = this.helpers.assertBinaryData(i, binaryPropertyName);
|
|
14
|
+
const fileBuffer = await this.helpers.getBinaryDataBuffer(i, binaryPropertyName);
|
|
15
|
+
const formData = {
|
|
16
|
+
file: {
|
|
17
|
+
value: fileBuffer,
|
|
18
|
+
options: {
|
|
19
|
+
filename: binaryData.fileName || 'file',
|
|
20
|
+
contentType: binaryData.mimeType || 'application/octet-stream',
|
|
21
|
+
},
|
|
22
|
+
},
|
|
23
|
+
'upload[uploadable_id]': uploadableId,
|
|
24
|
+
'upload[uploadable_type]': uploadableType,
|
|
25
|
+
};
|
|
26
|
+
formData._isMultipart = true;
|
|
27
|
+
responseData = await utils_1.huduApiRequest.call(this, 'POST', '/uploads', formData);
|
|
28
|
+
break;
|
|
29
|
+
}
|
|
9
30
|
case 'getAll': {
|
|
10
31
|
const returnAll = this.getNodeParameter('returnAll', i);
|
|
11
32
|
const limit = this.getNodeParameter('limit', i, constants_1.HUDU_API_CONSTANTS.PAGE_SIZE);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uploads.handler.js","sourceRoot":"","sources":["../../../../../../src/nodes/Hudu/resources/uploads/uploads.handler.ts"],"names":[],"mappings":";;AAKA,
|
|
1
|
+
{"version":3,"file":"uploads.handler.js","sourceRoot":"","sources":["../../../../../../src/nodes/Hudu/resources/uploads/uploads.handler.ts"],"names":[],"mappings":";;AAKA,sDAyEC;AA7ED,uCAA6C;AAC7C,qDAA2D;AAGpD,KAAK,UAAU,qBAAqB,CAEzC,SAA0B,EAC1B,CAAS;IAET,IAAI,YAAyC,CAAC;IAE9C,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,kBAAkB,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAW,CAAC;YACtE,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,CAAC,CAAW,CAAC;YAC7E,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,eAAe,EAAE,CAAC,CAAW,CAAC;YAEzE,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC;YACxE,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC;YAEjF,MAAM,QAAQ,GAAgB;gBAC5B,IAAI,EAAE;oBACJ,KAAK,EAAE,UAAU;oBACjB,OAAO,EAAE;wBACP,QAAQ,EAAE,UAAU,CAAC,QAAQ,IAAI,MAAM;wBACvC,WAAW,EAAE,UAAU,CAAC,QAAQ,IAAI,0BAA0B;qBAC/D;iBACF;gBACD,uBAAuB,EAAE,YAAY;gBACrC,yBAAyB,EAAE,cAAc;aAChB,CAAC;YAE3B,QAAgB,CAAC,YAAY,GAAG,IAAI,CAAC;YAEtC,YAAY,GAAG,MAAM,sBAAc,CAAC,IAAI,CACtC,IAAI,EACJ,MAA6B,EAC7B,UAAU,EACV,QAAQ,CACT,CAAC;YACF,MAAM;QACR,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,CAAY,CAAC;YACnE,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,EAAE,8BAAkB,CAAC,SAAS,CAAW,CAAC;YAExF,MAAM,QAAQ,GAAG,MAAM,sBAAc,CAAC,IAAI,CAAC,IAAI,EAAE,KAA4B,EAAE,UAAU,CAAC,CAAC;YAC3F,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAE/D,IAAI,CAAC,SAAS,IAAI,YAAY,CAAC,MAAM,GAAG,KAAK,EAAE,CAAC;gBAC9C,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC9C,CAAC;YACD,MAAM;QACR,CAAC;QAED,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,MAAM,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAW,CAAC;YACpD,YAAY,GAAG,MAAM,sBAAc,CAAC,IAAI,CACtC,IAAI,EACJ,KAA4B,EAC5B,YAAY,EAAE,EAAE,CACjB,CAAC;YACF,MAAM;QACR,CAAC;QAED,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAW,CAAC;YACpD,YAAY,GAAG,MAAM,sBAAc,CAAC,IAAI,CACtC,IAAI,EACJ,QAA+B,EAC/B,YAAY,EAAE,EAAE,CACjB,CAAC;YACF,MAAM;QACR,CAAC;IACH,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC"}
|
|
@@ -11,6 +11,36 @@ export async function handleUploadOperation(
|
|
|
11
11
|
let responseData: IDataObject | IDataObject[];
|
|
12
12
|
|
|
13
13
|
switch (operation) {
|
|
14
|
+
case 'create': {
|
|
15
|
+
const binaryPropertyName = this.getNodeParameter('file', i) as string;
|
|
16
|
+
const uploadableType = this.getNodeParameter('uploadable_type', i) as string;
|
|
17
|
+
const uploadableId = this.getNodeParameter('uploadable_id', i) as number;
|
|
18
|
+
|
|
19
|
+
const binaryData = this.helpers.assertBinaryData(i, binaryPropertyName);
|
|
20
|
+
const fileBuffer = await this.helpers.getBinaryDataBuffer(i, binaryPropertyName);
|
|
21
|
+
|
|
22
|
+
const formData: IDataObject = {
|
|
23
|
+
file: {
|
|
24
|
+
value: fileBuffer,
|
|
25
|
+
options: {
|
|
26
|
+
filename: binaryData.fileName || 'file',
|
|
27
|
+
contentType: binaryData.mimeType || 'application/octet-stream',
|
|
28
|
+
},
|
|
29
|
+
},
|
|
30
|
+
'upload[uploadable_id]': uploadableId,
|
|
31
|
+
'upload[uploadable_type]': uploadableType,
|
|
32
|
+
} as unknown as IDataObject;
|
|
33
|
+
|
|
34
|
+
(formData as any)._isMultipart = true;
|
|
35
|
+
|
|
36
|
+
responseData = await huduApiRequest.call(
|
|
37
|
+
this,
|
|
38
|
+
'POST' as IHttpRequestMethods,
|
|
39
|
+
'/uploads',
|
|
40
|
+
formData,
|
|
41
|
+
);
|
|
42
|
+
break;
|
|
43
|
+
}
|
|
14
44
|
case 'getAll': {
|
|
15
45
|
const returnAll = this.getNodeParameter('returnAll', i) as boolean;
|
|
16
46
|
const limit = this.getNodeParameter('limit', i, HUDU_API_CONSTANTS.PAGE_SIZE) as number;
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.processDateRange = processDateRange;
|
|
4
|
+
exports.convertToDateOnlyFormat = convertToDateOnlyFormat;
|
|
5
|
+
const luxon_1 = require("luxon");
|
|
4
6
|
const debugConfig_1 = require("./debugConfig");
|
|
5
7
|
function isValidISODate(dateStr) {
|
|
6
8
|
if (!/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d{3})?([+-]\d{2}:?\d{2}|Z)?$/.test(dateStr)) {
|
|
@@ -135,4 +137,29 @@ function processDateRange(dateRange) {
|
|
|
135
137
|
}
|
|
136
138
|
return undefined;
|
|
137
139
|
}
|
|
140
|
+
function convertToDateOnlyFormat(value) {
|
|
141
|
+
if (!value || value === '') {
|
|
142
|
+
return undefined;
|
|
143
|
+
}
|
|
144
|
+
if (typeof value === 'string' && /^\d{4}-\d{2}-\d{2}$/.test(value)) {
|
|
145
|
+
return value;
|
|
146
|
+
}
|
|
147
|
+
try {
|
|
148
|
+
const dt = luxon_1.DateTime.fromISO(value);
|
|
149
|
+
if (dt.isValid) {
|
|
150
|
+
return dt.toFormat('yyyy-MM-dd');
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
catch (e) {
|
|
154
|
+
}
|
|
155
|
+
try {
|
|
156
|
+
const dt = luxon_1.DateTime.fromJSDate(new Date(value));
|
|
157
|
+
if (dt.isValid) {
|
|
158
|
+
return dt.toFormat('yyyy-MM-dd');
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
catch (e) {
|
|
162
|
+
}
|
|
163
|
+
return value;
|
|
164
|
+
}
|
|
138
165
|
//# sourceMappingURL=dateUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dateUtils.js","sourceRoot":"","sources":["../../../../../src/nodes/Hudu/utils/dateUtils.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"dateUtils.js","sourceRoot":"","sources":["../../../../../src/nodes/Hudu/utils/dateUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,8 +6,10 @@
|
|
|
6
6
|
* - ISO 8601 date validation and formatting
|
|
7
7
|
* - Common date range presets (today, yesterday, last N days, etc.)
|
|
8
8
|
* - Date range error handling and validation
|
|
9
|
+
* - Date format conversion (ISO datetime to date-only YYYY-MM-DD)
|
|
9
10
|
*/
|
|
10
11
|
|
|
12
|
+
import { DateTime } from 'luxon';
|
|
11
13
|
import { DEBUG_CONFIG, debugLog } from './debugConfig';
|
|
12
14
|
|
|
13
15
|
export type DateRangePreset =
|
|
@@ -201,4 +203,46 @@ export function processDateRange(dateRange: IDateRange): string | undefined {
|
|
|
201
203
|
}
|
|
202
204
|
|
|
203
205
|
return undefined;
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
/**
|
|
209
|
+
* Convert dateTime value to date-only format (YYYY-MM-DD) as required by Hudu API
|
|
210
|
+
* This function is lenient and handles various input formats including ISO datetime strings
|
|
211
|
+
* from n8n's dateTime picker. Returns undefined for empty/invalid values (suitable for optional fields).
|
|
212
|
+
*
|
|
213
|
+
* @param value - Date value (can be ISO datetime string, date string, or empty)
|
|
214
|
+
* @returns Date string in YYYY-MM-DD format, undefined if empty/invalid, or original value if parsing fails
|
|
215
|
+
*/
|
|
216
|
+
export function convertToDateOnlyFormat(value: any): string | undefined {
|
|
217
|
+
if (!value || value === '') {
|
|
218
|
+
return undefined;
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
// If already in YYYY-MM-DD format, return as-is
|
|
222
|
+
if (typeof value === 'string' && /^\d{4}-\d{2}-\d{2}$/.test(value)) {
|
|
223
|
+
return value;
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
// Try parsing as ISO datetime string
|
|
227
|
+
try {
|
|
228
|
+
const dt = DateTime.fromISO(value);
|
|
229
|
+
if (dt.isValid) {
|
|
230
|
+
return dt.toFormat('yyyy-MM-dd');
|
|
231
|
+
}
|
|
232
|
+
} catch (e) {
|
|
233
|
+
// Fall through to other parsing attempts
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
// Try parsing as Date object
|
|
237
|
+
try {
|
|
238
|
+
const dt = DateTime.fromJSDate(new Date(value));
|
|
239
|
+
if (dt.isValid) {
|
|
240
|
+
return dt.toFormat('yyyy-MM-dd');
|
|
241
|
+
}
|
|
242
|
+
} catch (e) {
|
|
243
|
+
// Fall through
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
// If all parsing fails, return original value (will be validated by API)
|
|
247
|
+
return value;
|
|
204
248
|
}
|
|
@@ -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
|
}
|