n8n-nodes-ume-v4 4.5.12 → 4.5.13

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.
@@ -128,6 +128,15 @@ class UmeSocialSeeding {
128
128
  const formBody = {
129
129
  token: credentials.token,
130
130
  };
131
+ // Get selected server information for validation
132
+ const selectedServer = this.getNodeParameter("server", itemIndex, "");
133
+ let selectedServerInfo = null;
134
+ if (selectedServer && serviceData.servers) {
135
+ selectedServerInfo = serviceData.servers.find(s =>
136
+ s.id === selectedServer || s.server_id === selectedServer
137
+ );
138
+ }
139
+
131
140
  // Add service-specific parameters
132
141
  for (const parameter of serviceData.parameters) {
133
142
  if (parameter.type === 'string') {
@@ -190,7 +199,36 @@ class UmeSocialSeeding {
190
199
  }
191
200
  }
192
201
  else if (parameter.type === 'number') {
193
- const value = this.getNodeParameter(parameter.name, itemIndex);
202
+ let value = this.getNodeParameter(parameter.name, itemIndex);
203
+
204
+ // Handle count parameter with server-specific MIN validation
205
+ if (parameter.name === 'count' && selectedServerInfo) {
206
+ // If no value provided or value is less than server MIN, use server MIN
207
+ if (value === undefined || value === null || isNaN(Number(value)) || Number(value) < selectedServerInfo.minQuantity) {
208
+ const originalValue = value;
209
+ value = selectedServerInfo.minQuantity;
210
+ // Store adjustment info for potential debugging
211
+ formBody._countAdjusted = {
212
+ originalValue,
213
+ adjustedTo: value,
214
+ reason: `Below server MIN (${selectedServerInfo.minQuantity})`,
215
+ server: selectedServer
216
+ };
217
+ }
218
+
219
+ // Also enforce server MAX if value exceeds it
220
+ if (Number(value) > selectedServerInfo.maxQuantity) {
221
+ const originalValue = value;
222
+ value = selectedServerInfo.maxQuantity;
223
+ formBody._countAdjusted = {
224
+ originalValue,
225
+ adjustedTo: value,
226
+ reason: `Above server MAX (${selectedServerInfo.maxQuantity})`,
227
+ server: selectedServer
228
+ };
229
+ }
230
+ }
231
+
194
232
  if (value !== undefined && value !== null && !isNaN(Number(value))) {
195
233
  formBody[parameter.name] = Number(value).toString();
196
234
  }
@@ -114,6 +114,40 @@ function getDynamicProperties() {
114
114
  },
115
115
  },
116
116
  };
117
+
118
+ // Add dynamic default value for count parameter based on selected server
119
+ if (parameter.name === 'count' && serverParam && serverParam.options) {
120
+ // Create default value that depends on selected server
121
+ paramProperty.default = serverParam.default || parameter.default || 50;
122
+
123
+ // Add logic to update default when server changes
124
+ paramProperty.displayOptions.show = {
125
+ ...paramProperty.displayOptions.show,
126
+ server: serverParam.options.map(opt => opt.value)
127
+ };
128
+
129
+ // Add special property to handle server-specific defaults
130
+ paramProperty.typeOptions = parameter.typeOptions || {};
131
+
132
+ // Set default to the MIN value of the first server
133
+ if (serverParam.options.length > 0) {
134
+ const firstServer = serverParam.options[0];
135
+ const serverInfo = serviceData.servers?.find(s =>
136
+ s.id === firstServer.value || s.server_id === firstServer.value
137
+ );
138
+ if (serverInfo) {
139
+ paramProperty.default = serverInfo.minQuantity || parameter.default || 50;
140
+ // Update typeOptions to match server range
141
+ if (parameter.typeOptions) {
142
+ const maxFromServers = Math.max(...serviceData.servers.map(s => s.maxQuantity || 0));
143
+ const minFromServers = Math.min(...serviceData.servers.map(s => s.minQuantity || 0));
144
+ paramProperty.typeOptions.minValue = minFromServers;
145
+ paramProperty.typeOptions.maxValue = maxFromServers;
146
+ }
147
+ }
148
+ }
149
+ }
150
+
117
151
  serviceParameters.push(paramProperty);
118
152
  }
119
153
  }
@@ -2826,8 +2826,8 @@
2826
2826
  "max": 61.6
2827
2827
  },
2828
2828
  "defaultValues": {
2829
- "count": 50,
2830
- "server": "server_1",
2829
+ "count": 200,
2830
+ "server": "server_2",
2831
2831
  "speed": "0",
2832
2832
  "link": "",
2833
2833
  "note": "Tự động tạo từ n8n UME Social Seeding"
@@ -2981,8 +2981,8 @@
2981
2981
  "max": 62.6
2982
2982
  },
2983
2983
  "defaultValues": {
2984
- "count": 100,
2985
- "server": "server_1",
2984
+ "count": 50,
2985
+ "server": "server_2",
2986
2986
  "speed": "0",
2987
2987
  "link": "",
2988
2988
  "note": "Tự động tạo từ n8n UME Social Seeding"
@@ -3164,8 +3164,8 @@
3164
3164
  "max": 4.2
3165
3165
  },
3166
3166
  "defaultValues": {
3167
- "count": 1000,
3168
- "server": "server_1",
3167
+ "count": 50,
3168
+ "server": "server_3",
3169
3169
  "speed": "0",
3170
3170
  "link": "",
3171
3171
  "note": "Tự động tạo từ n8n UME Social Seeding"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "n8n-nodes-ume-v4",
3
- "version": "4.5.12",
3
+ "version": "4.5.13",
4
4
  "description": "UME Social Seeding Services for n8n - Version 4 with updated features",
5
5
  "license": "MIT",
6
6
  "main": "dist/index.js",