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.
Files changed (140) hide show
  1. package/README.md +16 -5
  2. package/dist/nodes/Hudu/descriptions/activity_logs.description.js +1 -1
  3. package/dist/nodes/Hudu/descriptions/activity_logs.description.js.map +1 -1
  4. package/dist/nodes/Hudu/descriptions/activity_logs.description.ts +1 -1
  5. package/dist/nodes/Hudu/descriptions/articles.description.ts +1 -1
  6. package/dist/nodes/Hudu/descriptions/asset_layout_fields.description.js +24 -0
  7. package/dist/nodes/Hudu/descriptions/asset_layout_fields.description.js.map +1 -1
  8. package/dist/nodes/Hudu/descriptions/asset_layout_fields.description.ts +24 -0
  9. package/dist/nodes/Hudu/descriptions/asset_layouts.description.js +58 -0
  10. package/dist/nodes/Hudu/descriptions/asset_layouts.description.js.map +1 -1
  11. package/dist/nodes/Hudu/descriptions/asset_layouts.description.ts +58 -0
  12. package/dist/nodes/Hudu/descriptions/cards.description.js +5 -43
  13. package/dist/nodes/Hudu/descriptions/cards.description.js.map +1 -1
  14. package/dist/nodes/Hudu/descriptions/cards.description.ts +6 -43
  15. package/dist/nodes/Hudu/descriptions/companies.description.js +0 -29
  16. package/dist/nodes/Hudu/descriptions/companies.description.js.map +1 -1
  17. package/dist/nodes/Hudu/descriptions/companies.description.ts +0 -29
  18. package/dist/nodes/Hudu/descriptions/exports.description.js +102 -0
  19. package/dist/nodes/Hudu/descriptions/exports.description.js.map +1 -0
  20. package/dist/nodes/Hudu/descriptions/exports.description.ts +104 -0
  21. package/dist/nodes/Hudu/descriptions/index.js +2 -0
  22. package/dist/nodes/Hudu/descriptions/index.js.map +1 -1
  23. package/dist/nodes/Hudu/descriptions/index.ts +2 -0
  24. package/dist/nodes/Hudu/descriptions/ip_addresses.description.js +0 -40
  25. package/dist/nodes/Hudu/descriptions/ip_addresses.description.js.map +1 -1
  26. package/dist/nodes/Hudu/descriptions/ip_addresses.description.ts +1 -41
  27. package/dist/nodes/Hudu/descriptions/list_options.description.js +2 -2
  28. package/dist/nodes/Hudu/descriptions/list_options.description.js.map +1 -1
  29. package/dist/nodes/Hudu/descriptions/list_options.description.ts +2 -2
  30. package/dist/nodes/Hudu/descriptions/lists.description.js +79 -0
  31. package/dist/nodes/Hudu/descriptions/lists.description.js.map +1 -1
  32. package/dist/nodes/Hudu/descriptions/lists.description.ts +81 -0
  33. package/dist/nodes/Hudu/descriptions/magic_dash.description.js +34 -0
  34. package/dist/nodes/Hudu/descriptions/magic_dash.description.js.map +1 -1
  35. package/dist/nodes/Hudu/descriptions/magic_dash.description.ts +308 -270
  36. package/dist/nodes/Hudu/descriptions/matchers.description.js +3 -3
  37. package/dist/nodes/Hudu/descriptions/matchers.description.js.map +1 -1
  38. package/dist/nodes/Hudu/descriptions/matchers.description.ts +3 -3
  39. package/dist/nodes/Hudu/descriptions/networks.description.js +12 -22
  40. package/dist/nodes/Hudu/descriptions/networks.description.js.map +1 -1
  41. package/dist/nodes/Hudu/descriptions/networks.description.ts +12 -22
  42. package/dist/nodes/Hudu/descriptions/procedures.description.js +71 -1
  43. package/dist/nodes/Hudu/descriptions/procedures.description.js.map +1 -1
  44. package/dist/nodes/Hudu/descriptions/procedures.description.ts +71 -1
  45. package/dist/nodes/Hudu/descriptions/public_photos.description.js +2 -0
  46. package/dist/nodes/Hudu/descriptions/public_photos.description.js.map +1 -1
  47. package/dist/nodes/Hudu/descriptions/public_photos.description.ts +2 -0
  48. package/dist/nodes/Hudu/descriptions/relations.description.js +0 -1
  49. package/dist/nodes/Hudu/descriptions/relations.description.js.map +1 -1
  50. package/dist/nodes/Hudu/descriptions/relations.description.ts +0 -1
  51. package/dist/nodes/Hudu/descriptions/s3_exports.description.js +27 -0
  52. package/dist/nodes/Hudu/descriptions/s3_exports.description.js.map +1 -0
  53. package/dist/nodes/Hudu/descriptions/s3_exports.description.ts +28 -0
  54. package/dist/nodes/Hudu/descriptions/uploads.description.js +62 -0
  55. package/dist/nodes/Hudu/descriptions/uploads.description.js.map +1 -1
  56. package/dist/nodes/Hudu/descriptions/uploads.description.ts +65 -0
  57. package/dist/nodes/Hudu/descriptions/vlans.description.js +40 -0
  58. package/dist/nodes/Hudu/descriptions/vlans.description.js.map +1 -1
  59. package/dist/nodes/Hudu/descriptions/vlans.description.ts +43 -0
  60. package/dist/nodes/Hudu/resources/activity_logs/activity_logs.handler.js +17 -1
  61. package/dist/nodes/Hudu/resources/activity_logs/activity_logs.handler.js.map +1 -1
  62. package/dist/nodes/Hudu/resources/activity_logs/activity_logs.handler.ts +23 -1
  63. package/dist/nodes/Hudu/resources/articles/articles.handler.js +0 -16
  64. package/dist/nodes/Hudu/resources/articles/articles.handler.js.map +1 -1
  65. package/dist/nodes/Hudu/resources/articles/articles.handler.ts +0 -17
  66. package/dist/nodes/Hudu/resources/asset_layout_fields/asset_layout_fields.handler.js +2 -0
  67. package/dist/nodes/Hudu/resources/asset_layout_fields/asset_layout_fields.handler.js.map +1 -1
  68. package/dist/nodes/Hudu/resources/asset_layout_fields/asset_layout_fields.handler.ts +2 -0
  69. package/dist/nodes/Hudu/resources/asset_layout_fields/asset_layout_fields.types.ts +3 -1
  70. package/dist/nodes/Hudu/resources/asset_layouts/asset_layouts.handler.js +10 -1
  71. package/dist/nodes/Hudu/resources/asset_layouts/asset_layouts.handler.js.map +1 -1
  72. package/dist/nodes/Hudu/resources/asset_layouts/asset_layouts.handler.ts +12 -1
  73. package/dist/nodes/Hudu/resources/assets/assets.handler.js +3 -4
  74. package/dist/nodes/Hudu/resources/assets/assets.handler.js.map +1 -1
  75. package/dist/nodes/Hudu/resources/assets/assets.handler.ts +3 -4
  76. package/dist/nodes/Hudu/resources/cards/cards.handler.js +6 -0
  77. package/dist/nodes/Hudu/resources/cards/cards.handler.js.map +1 -1
  78. package/dist/nodes/Hudu/resources/cards/cards.handler.ts +13 -0
  79. package/dist/nodes/Hudu/resources/cards/cards.types.ts +0 -6
  80. package/dist/nodes/Hudu/resources/companies/companies.handler.js +1 -2
  81. package/dist/nodes/Hudu/resources/companies/companies.handler.js.map +1 -1
  82. package/dist/nodes/Hudu/resources/companies/companies.handler.ts +3 -2
  83. package/dist/nodes/Hudu/resources/expirations/expirations.handler.js +1 -1
  84. package/dist/nodes/Hudu/resources/expirations/expirations.handler.js.map +1 -1
  85. package/dist/nodes/Hudu/resources/expirations/expirations.handler.ts +1 -1
  86. package/dist/nodes/Hudu/resources/exports/exports.handler.js +36 -0
  87. package/dist/nodes/Hudu/resources/exports/exports.handler.js.map +1 -0
  88. package/dist/nodes/Hudu/resources/exports/exports.handler.ts +54 -0
  89. package/dist/nodes/Hudu/resources/exports/exports.types.js +3 -0
  90. package/dist/nodes/Hudu/resources/exports/exports.types.js.map +1 -0
  91. package/dist/nodes/Hudu/resources/exports/exports.types.ts +15 -0
  92. package/dist/nodes/Hudu/resources/groups/groups.handler.js +1 -1
  93. package/dist/nodes/Hudu/resources/groups/groups.handler.js.map +1 -1
  94. package/dist/nodes/Hudu/resources/groups/groups.handler.ts +2 -2
  95. package/dist/nodes/Hudu/resources/index.js +4 -0
  96. package/dist/nodes/Hudu/resources/index.js.map +1 -1
  97. package/dist/nodes/Hudu/resources/index.ts +4 -0
  98. package/dist/nodes/Hudu/resources/list_options/list_options.handler.js +2 -2
  99. package/dist/nodes/Hudu/resources/list_options/list_options.handler.js.map +1 -1
  100. package/dist/nodes/Hudu/resources/list_options/list_options.handler.ts +4 -4
  101. package/dist/nodes/Hudu/resources/lists/lists.handler.js +39 -0
  102. package/dist/nodes/Hudu/resources/lists/lists.handler.js.map +1 -1
  103. package/dist/nodes/Hudu/resources/lists/lists.handler.ts +54 -0
  104. package/dist/nodes/Hudu/resources/magic_dash/magic_dash.handler.js +10 -1
  105. package/dist/nodes/Hudu/resources/magic_dash/magic_dash.handler.js.map +1 -1
  106. package/dist/nodes/Hudu/resources/magic_dash/magic_dash.handler.ts +100 -85
  107. package/dist/nodes/Hudu/resources/magic_dash/magic_dash.types.ts +6 -1
  108. package/dist/nodes/Hudu/resources/matchers/matchers.handler.js +1 -1
  109. package/dist/nodes/Hudu/resources/matchers/matchers.handler.js.map +1 -1
  110. package/dist/nodes/Hudu/resources/matchers/matchers.handler.ts +1 -1
  111. package/dist/nodes/Hudu/resources/networks/networks.handler.js +2 -5
  112. package/dist/nodes/Hudu/resources/networks/networks.handler.js.map +1 -1
  113. package/dist/nodes/Hudu/resources/networks/networks.handler.ts +6 -4
  114. package/dist/nodes/Hudu/resources/networks/networks.types.ts +1 -1
  115. package/dist/nodes/Hudu/resources/procedure_tasks/procedure_tasks.handler.js +19 -2
  116. package/dist/nodes/Hudu/resources/procedure_tasks/procedure_tasks.handler.js.map +1 -1
  117. package/dist/nodes/Hudu/resources/procedure_tasks/procedure_tasks.handler.ts +19 -2
  118. package/dist/nodes/Hudu/resources/procedures/procedures.handler.js +21 -22
  119. package/dist/nodes/Hudu/resources/procedures/procedures.handler.js.map +1 -1
  120. package/dist/nodes/Hudu/resources/procedures/procedures.handler.ts +42 -32
  121. package/dist/nodes/Hudu/resources/procedures/procedures.types.ts +0 -2
  122. package/dist/nodes/Hudu/resources/public_photos/public_photos.handler.js +1 -1
  123. package/dist/nodes/Hudu/resources/public_photos/public_photos.handler.js.map +1 -1
  124. package/dist/nodes/Hudu/resources/public_photos/public_photos.handler.ts +1 -1
  125. package/dist/nodes/Hudu/resources/public_photos/public_photos.types.ts +2 -1
  126. package/dist/nodes/Hudu/resources/s3_exports/s3_exports.handler.js +14 -0
  127. package/dist/nodes/Hudu/resources/s3_exports/s3_exports.handler.js.map +1 -0
  128. package/dist/nodes/Hudu/resources/s3_exports/s3_exports.handler.ts +22 -0
  129. package/dist/nodes/Hudu/resources/s3_exports/s3_exports.types.js +3 -0
  130. package/dist/nodes/Hudu/resources/s3_exports/s3_exports.types.js.map +1 -0
  131. package/dist/nodes/Hudu/resources/s3_exports/s3_exports.types.ts +3 -0
  132. package/dist/nodes/Hudu/resources/uploads/uploads.handler.js +21 -0
  133. package/dist/nodes/Hudu/resources/uploads/uploads.handler.js.map +1 -1
  134. package/dist/nodes/Hudu/resources/uploads/uploads.handler.ts +30 -0
  135. package/dist/nodes/Hudu/resources/uploads/uploads.types.ts +1 -1
  136. package/dist/nodes/Hudu/utils/dateUtils.js +27 -0
  137. package/dist/nodes/Hudu/utils/dateUtils.js.map +1 -1
  138. package/dist/nodes/Hudu/utils/dateUtils.ts +44 -0
  139. package/dist/nodes/Hudu/utils/operations/magic_dash.ts +68 -68
  140. 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, { procedure: body });
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
- case 'archive': {
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
- // Validate company_id if provided
130
+ const qs: IDataObject = {};
131
+
132
+ // Validate and add company_id if provided
141
133
  if (additionalFields.company_id) {
142
- additionalFields.company_id = validateCompanyId(
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
- const body: IDataObject = {
150
- ...additionalFields,
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 handleCreateOperation.call(
151
+ responseData = await huduApiRequest.call(
154
152
  this,
153
+ 'POST',
155
154
  `${resourceEndpoint}/${templateId}/create_from_template`,
156
- { procedure: body },
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
- // Validate company_id if provided
166
- if (additionalFields.company_id) {
167
- additionalFields.company_id = validateCompanyId(
168
- additionalFields.company_id,
169
- this.getNode(),
170
- 'Company ID'
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
- const body: IDataObject = {
175
- ...additionalFields,
176
- };
180
+ // Add description if provided
181
+ if (additionalFields.description) {
182
+ qs.description = additionalFields.description as string;
183
+ }
177
184
 
178
- responseData = await handleCreateOperation.call(
185
+ responseData = await huduApiRequest.call(
179
186
  this,
187
+ 'POST',
180
188
  `${resourceEndpoint}/${procedureId}/duplicate`,
181
- { procedure: body },
189
+ {},
190
+ qs,
191
+ 'procedure',
182
192
  );
183
193
  break;
184
194
  }
@@ -30,8 +30,6 @@ export type ProceduresOperations =
30
30
  | 'get'
31
31
  | 'getAll'
32
32
  | 'update'
33
- | 'archive'
34
- | 'unarchive'
35
33
  | 'createFromTemplate'
36
34
  | 'duplicate'
37
35
  | 'kickoff';
@@ -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.id === photoId);
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.id === photoId);
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: number; // The ID of the public photo
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,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=s3_exports.types.js.map
@@ -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":""}
@@ -0,0 +1,3 @@
1
+ export type S3ExportsOperation = 'create';
2
+
3
+
@@ -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,sDA2CC;AA/CD,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,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"}
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;
@@ -17,4 +17,4 @@ export interface IUploadResponse extends IDataObject {
17
17
  upload: IUpload;
18
18
  }
19
19
 
20
- export type UploadOperation = 'getAll' | 'get' | 'delete';
20
+ export type UploadOperation = 'getAll' | 'get' | 'create' | 'delete';
@@ -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":"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"}
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
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "n8n-nodes-hudu",
3
- "version": "1.4.7",
3
+ "version": "1.5.0",
4
4
  "description": "This n8n custom node facilitates integration with Hudu's API.",
5
5
  "keywords": [
6
6
  "n8n-community-node-package",