n8n-nodes-ume-v4 4.5.15 → 4.5.16
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.
@@ -138,148 +138,77 @@ class UmeSocialSeeding {
|
|
138
138
|
}
|
139
139
|
|
140
140
|
// Add service-specific parameters
|
141
|
-
|
142
|
-
const allParameterNames = [];
|
143
|
-
serviceData.parameters.forEach(param => {
|
144
|
-
allParameterNames.push(param.name);
|
145
|
-
});
|
146
|
-
|
147
|
-
// Add server-specific count parameters if this service has servers
|
148
|
-
if (serviceData.servers && serviceData.parameters.find(p => p.name === 'count')) {
|
149
|
-
const serverParam = serviceData.parameters.find(p => p.name === 'server');
|
150
|
-
if (serverParam && serverParam.options) {
|
151
|
-
serverParam.options.forEach(serverOption => {
|
152
|
-
allParameterNames.push(`count_${serverOption.value}`);
|
153
|
-
});
|
154
|
-
}
|
155
|
-
}
|
156
|
-
|
157
|
-
// Now process all parameters (both static and dynamic)
|
158
|
-
for (const parameterName of allParameterNames) {
|
159
|
-
// Find the original parameter definition
|
160
|
-
let parameter = serviceData.parameters.find(p => p.name === parameterName);
|
161
|
-
|
162
|
-
// Check if this is a server-specific count parameter
|
163
|
-
if (parameterName.startsWith('count_') && !parameter) {
|
164
|
-
parameter = {
|
165
|
-
name: parameterName,
|
166
|
-
type: 'number',
|
167
|
-
displayName: `Số lượng (${parameterName})`
|
168
|
-
};
|
169
|
-
}
|
170
|
-
|
171
|
-
if (!parameter) continue;
|
141
|
+
for (const parameter of serviceData.parameters) {
|
172
142
|
|
173
143
|
if (parameter.type === 'string') {
|
174
|
-
const value = this.getNodeParameter(
|
175
|
-
if (
|
144
|
+
const value = this.getNodeParameter(parameter.name, itemIndex, "");
|
145
|
+
if (parameter.name === 'uid') {
|
176
146
|
// Extract ID from URL for UID services
|
177
147
|
const extractedValue = (0, UmeSocialSeedingHelpers_1.extractIdFromUrl)(value.trim() || '', serviceName);
|
178
|
-
formBody[
|
148
|
+
formBody[parameter.name] = extractedValue;
|
179
149
|
}
|
180
|
-
else if (
|
150
|
+
else if (parameter.name === 'url') {
|
181
151
|
// For URL services, send the URL as-is without extraction
|
182
|
-
formBody[
|
152
|
+
formBody[parameter.name] = value.trim();
|
183
153
|
}
|
184
|
-
else if (
|
154
|
+
else if (parameter.name === 'link') {
|
185
155
|
// For Instagram, TikTok, YouTube - send the URL as-is without extraction
|
186
|
-
formBody[
|
156
|
+
formBody[parameter.name] = value.trim();
|
187
157
|
}
|
188
|
-
else if (
|
158
|
+
else if (parameter.name === 'note') {
|
189
159
|
// Set default note if empty
|
190
|
-
formBody[
|
160
|
+
formBody[parameter.name] = value.trim() || "Auto-generated by n8n UME Social Seeding";
|
191
161
|
}
|
192
|
-
else if (
|
162
|
+
else if (parameter.name === 'comments') {
|
193
163
|
// Process comment list - convert multiline to API format
|
194
164
|
const processedComments = (0, UmeSocialSeedingHelpers_1.processCommentList)(value.trim() || '');
|
195
165
|
if (processedComments) {
|
196
|
-
formBody[
|
166
|
+
formBody[parameter.name] = processedComments;
|
197
167
|
}
|
198
168
|
}
|
199
|
-
else if (
|
169
|
+
else if (parameter.name === 'list_comment') {
|
200
170
|
// Process comment list - convert multiline to API format
|
201
171
|
const processedComments = (0, UmeSocialSeedingHelpers_1.processCommentList)(value.trim() || '');
|
202
172
|
if (processedComments) {
|
203
|
-
formBody[
|
173
|
+
formBody[parameter.name] = processedComments;
|
204
174
|
}
|
205
175
|
}
|
206
176
|
else if (value && value.trim() !== "") {
|
207
|
-
formBody[
|
177
|
+
formBody[parameter.name] = value.trim();
|
208
178
|
}
|
209
179
|
}
|
210
180
|
else if (parameter.type === 'textarea') {
|
211
|
-
const value = this.getNodeParameter(
|
212
|
-
if (
|
181
|
+
const value = this.getNodeParameter(parameter.name, itemIndex, "");
|
182
|
+
if (parameter.name === 'list_comment') {
|
213
183
|
// Process comment list - convert multiline to API format
|
214
184
|
const processedComments = (0, UmeSocialSeedingHelpers_1.processCommentList)(value.trim());
|
215
185
|
if (processedComments) {
|
216
|
-
formBody[
|
186
|
+
formBody[parameter.name] = processedComments;
|
217
187
|
}
|
218
188
|
}
|
219
|
-
else if (
|
189
|
+
else if (parameter.name === 'uid') {
|
220
190
|
// Extract ID from URL for UID services
|
221
191
|
const extractedValue = (0, UmeSocialSeedingHelpers_1.extractIdFromUrl)(value.trim() || '', serviceName);
|
222
|
-
formBody[
|
192
|
+
formBody[parameter.name] = extractedValue;
|
223
193
|
}
|
224
|
-
else if (
|
194
|
+
else if (parameter.name === 'url') {
|
225
195
|
// For URL services, send the URL as-is without extraction
|
226
|
-
formBody[
|
196
|
+
formBody[parameter.name] = value.trim();
|
227
197
|
}
|
228
198
|
else if (value && value.trim() !== "") {
|
229
|
-
formBody[
|
199
|
+
formBody[parameter.name] = value.trim();
|
230
200
|
}
|
231
201
|
}
|
232
202
|
else if (parameter.type === 'number') {
|
233
|
-
let value = this.getNodeParameter(
|
234
|
-
|
235
|
-
|
236
|
-
if (parameterName.startsWith('count_') && selectedServerInfo) {
|
237
|
-
// This is a server-specific count parameter, get the actual value
|
238
|
-
if (value !== undefined && value !== null && !isNaN(Number(value))) {
|
239
|
-
formBody['count'] = Number(value).toString();
|
240
|
-
}
|
241
|
-
}
|
242
|
-
// Handle regular count parameter (fallback for services without server-specific counts)
|
243
|
-
else if (parameterName === 'count' && selectedServerInfo) {
|
244
|
-
// If no value provided or value is less than server MIN, use server MIN
|
245
|
-
if (value === undefined || value === null || isNaN(Number(value)) || Number(value) < selectedServerInfo.minQuantity) {
|
246
|
-
const originalValue = value;
|
247
|
-
value = selectedServerInfo.minQuantity;
|
248
|
-
// Store adjustment info for potential debugging
|
249
|
-
formBody._countAdjusted = {
|
250
|
-
originalValue,
|
251
|
-
adjustedTo: value,
|
252
|
-
reason: `Below server MIN (${selectedServerInfo.minQuantity})`,
|
253
|
-
server: selectedServer
|
254
|
-
};
|
255
|
-
}
|
256
|
-
|
257
|
-
// Also enforce server MAX if value exceeds it
|
258
|
-
if (Number(value) > selectedServerInfo.maxQuantity) {
|
259
|
-
const originalValue = value;
|
260
|
-
value = selectedServerInfo.maxQuantity;
|
261
|
-
formBody._countAdjusted = {
|
262
|
-
originalValue,
|
263
|
-
adjustedTo: value,
|
264
|
-
reason: `Above server MAX (${selectedServerInfo.maxQuantity})`,
|
265
|
-
server: selectedServer
|
266
|
-
};
|
267
|
-
}
|
268
|
-
|
269
|
-
if (value !== undefined && value !== null && !isNaN(Number(value))) {
|
270
|
-
formBody['count'] = Number(value).toString();
|
271
|
-
}
|
272
|
-
} else {
|
273
|
-
// Regular number parameter (not count)
|
274
|
-
if (value !== undefined && value !== null && !isNaN(Number(value))) {
|
275
|
-
formBody[parameterName] = Number(value).toString();
|
276
|
-
}
|
203
|
+
let value = this.getNodeParameter(parameter.name, itemIndex);
|
204
|
+
if (value !== undefined && value !== null && !isNaN(Number(value))) {
|
205
|
+
formBody[parameter.name] = Number(value).toString();
|
277
206
|
}
|
278
207
|
}
|
279
208
|
else if (parameter.type === 'options') {
|
280
|
-
const value = this.getNodeParameter(
|
209
|
+
const value = this.getNodeParameter(parameter.name, itemIndex, "");
|
281
210
|
if (value && value.trim() !== "") {
|
282
|
-
formBody[
|
211
|
+
formBody[parameter.name] = value.trim();
|
283
212
|
}
|
284
213
|
}
|
285
214
|
}
|
@@ -115,39 +115,7 @@ function getDynamicProperties() {
|
|
115
115
|
},
|
116
116
|
};
|
117
117
|
|
118
|
-
|
119
|
-
if (parameter.name === 'count' && serverParam && serverParam.options) {
|
120
|
-
// Instead of one count parameter, create server-specific ones
|
121
|
-
serverParam.options.forEach((serverOption) => {
|
122
|
-
const serverInfo = serviceData.servers?.find(s =>
|
123
|
-
s.id === serverOption.value || s.server_id === serverOption.value
|
124
|
-
);
|
125
|
-
|
126
|
-
const serverSpecificCount = {
|
127
|
-
...parameter,
|
128
|
-
name: `count_${serverOption.value}`,
|
129
|
-
displayName: `Số lượng (${serverOption.name})`,
|
130
|
-
default: serverInfo?.minQuantity || parameter.default || 50,
|
131
|
-
typeOptions: {
|
132
|
-
minValue: serverInfo?.minQuantity || parameter.typeOptions?.minValue || 1,
|
133
|
-
maxValue: serverInfo?.maxQuantity || parameter.typeOptions?.maxValue || 999999999
|
134
|
-
},
|
135
|
-
displayOptions: {
|
136
|
-
show: {
|
137
|
-
platform: [platformKey],
|
138
|
-
service: [serviceName],
|
139
|
-
server: [serverOption.value]
|
140
|
-
},
|
141
|
-
},
|
142
|
-
description: `Số lượng cần tăng (${serverOption.name}: ${serverInfo?.minQuantity || 'N/A'} - ${serverInfo?.maxQuantity || 'N/A'})`,
|
143
|
-
};
|
144
|
-
serviceParameters.push(serverSpecificCount);
|
145
|
-
});
|
146
|
-
|
147
|
-
// Skip adding the original count parameter
|
148
|
-
continue;
|
149
|
-
}
|
150
|
-
|
118
|
+
|
151
119
|
serviceParameters.push(paramProperty);
|
152
120
|
}
|
153
121
|
}
|