n8n-nodes-arubaclearpass 1.0.2 → 1.0.3

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.
@@ -113,9 +113,16 @@ async function createRoleMapping() {
113
113
  body.description = description;
114
114
  }
115
115
  // Add rules (required)
116
- const rulesJson = this.getNodeParameter('rules', 0);
116
+ const rulesRaw = this.getNodeParameter('rules', 0);
117
117
  try {
118
- body.rules = JSON.parse(rulesJson);
118
+ // Handle both string (JSON) and array/object inputs
119
+ if (typeof rulesRaw === 'string') {
120
+ body.rules = JSON.parse(rulesRaw);
121
+ }
122
+ else {
123
+ // Already an array or object, use it directly
124
+ body.rules = rulesRaw;
125
+ }
119
126
  }
120
127
  catch (parseError) {
121
128
  throw new Error(`Invalid JSON in rules: ${parseError.message}`);
@@ -151,12 +158,19 @@ async function updateRoleMapping() {
151
158
  const body = {};
152
159
  // Handle fields
153
160
  Object.entries(updateFields).forEach(([key, value]) => {
154
- if (key === 'rules' && typeof value === 'string') {
155
- try {
156
- body[key] = JSON.parse(value);
161
+ if (key === 'rules') {
162
+ // Handle both string (JSON) and object/array inputs
163
+ if (typeof value === 'string') {
164
+ try {
165
+ body[key] = JSON.parse(value);
166
+ }
167
+ catch (parseError) {
168
+ throw new Error(`Invalid JSON in rules: ${parseError.message}`);
169
+ }
157
170
  }
158
- catch (parseError) {
159
- throw new Error(`Invalid JSON in rules: ${parseError.message}`);
171
+ else {
172
+ // Already an object or array, use it directly
173
+ body[key] = value;
160
174
  }
161
175
  }
162
176
  else {
@@ -194,12 +208,19 @@ async function updateRoleMappingByName() {
194
208
  const body = {};
195
209
  // Handle fields
196
210
  Object.entries(updateFields).forEach(([key, value]) => {
197
- if (key === 'rules' && typeof value === 'string') {
198
- try {
199
- body[key] = JSON.parse(value);
211
+ if (key === 'rules') {
212
+ // Handle both string (JSON) and object/array inputs
213
+ if (typeof value === 'string') {
214
+ try {
215
+ body[key] = JSON.parse(value);
216
+ }
217
+ catch (parseError) {
218
+ throw new Error(`Invalid JSON in rules: ${parseError.message}`);
219
+ }
200
220
  }
201
- catch (parseError) {
202
- throw new Error(`Invalid JSON in rules: ${parseError.message}`);
221
+ else {
222
+ // Already an object or array, use it directly
223
+ body[key] = value;
203
224
  }
204
225
  }
205
226
  else {
@@ -241,9 +262,16 @@ async function replaceRoleMapping() {
241
262
  body.description = description;
242
263
  }
243
264
  // Add rules (required)
244
- const rulesJson = this.getNodeParameter('rules', 0);
265
+ const rulesRaw = this.getNodeParameter('rules', 0);
245
266
  try {
246
- body.rules = JSON.parse(rulesJson);
267
+ // Handle both string (JSON) and array/object inputs
268
+ if (typeof rulesRaw === 'string') {
269
+ body.rules = JSON.parse(rulesRaw);
270
+ }
271
+ else {
272
+ // Already an array or object, use it directly
273
+ body.rules = rulesRaw;
274
+ }
247
275
  }
248
276
  catch (parseError) {
249
277
  throw new Error(`Invalid JSON in rules: ${parseError.message}`);
@@ -283,9 +311,16 @@ async function replaceRoleMappingByName() {
283
311
  body.description = description;
284
312
  }
285
313
  // Add rules (required)
286
- const rulesJson = this.getNodeParameter('rules', 0);
314
+ const rulesRaw = this.getNodeParameter('rules', 0);
287
315
  try {
288
- body.rules = JSON.parse(rulesJson);
316
+ // Handle both string (JSON) and array/object inputs
317
+ if (typeof rulesRaw === 'string') {
318
+ body.rules = JSON.parse(rulesRaw);
319
+ }
320
+ else {
321
+ // Already an array or object, use it directly
322
+ body.rules = rulesRaw;
323
+ }
289
324
  }
290
325
  catch (parseError) {
291
326
  throw new Error(`Invalid JSON in rules: ${parseError.message}`);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "n8n-nodes-arubaclearpass",
3
- "version": "1.0.2",
3
+ "version": "1.0.3",
4
4
  "description": "n8n community node for Aruba ClearPass API integration with comprehensive identity, policy, and enforcement profile management",
5
5
  "keywords": [
6
6
  "n8n-community-node-package",