n8n-nodes-arubaclearpass 1.0.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 (80) hide show
  1. package/dist/credentials/ClearPassApi.credentials.d.ts +7 -0
  2. package/dist/credentials/ClearPassApi.credentials.js +69 -0
  3. package/dist/credentials/ClearPassOAuth2Api.credentials.d.ts +10 -0
  4. package/dist/credentials/ClearPassOAuth2Api.credentials.js +55 -0
  5. package/dist/nodes/ArubaCentral/clearpass.svg +4 -0
  6. package/dist/nodes/ArubaClearPass/ArubaClearPass.node.d.ts +5 -0
  7. package/dist/nodes/ArubaClearPass/ArubaClearPass.node.js +173 -0
  8. package/dist/nodes/ArubaClearPass/descriptions/EnforcementProfile/EnforcementProfile.descriptions.d.ts +4 -0
  9. package/dist/nodes/ArubaClearPass/descriptions/EnforcementProfile/EnforcementProfile.descriptions.js +361 -0
  10. package/dist/nodes/ArubaClearPass/descriptions/EnforcementProfile/index.d.ts +2 -0
  11. package/dist/nodes/ArubaClearPass/descriptions/EnforcementProfile/index.js +11 -0
  12. package/dist/nodes/ArubaClearPass/descriptions/Identities/ApiClient.descriptions.d.ts +0 -0
  13. package/dist/nodes/ArubaClearPass/descriptions/Identities/ApiClient.descriptions.js +0 -0
  14. package/dist/nodes/ArubaClearPass/descriptions/Identities/DenyListedUsers.descriptions.d.ts +0 -0
  15. package/dist/nodes/ArubaClearPass/descriptions/Identities/DenyListedUsers.descriptions.js +0 -0
  16. package/dist/nodes/ArubaClearPass/descriptions/Identities/Device.descriptions.d.ts +4 -0
  17. package/dist/nodes/ArubaClearPass/descriptions/Identities/Device.descriptions.js +668 -0
  18. package/dist/nodes/ArubaClearPass/descriptions/Identities/Endpoint.descriptions.d.ts +4 -0
  19. package/dist/nodes/ArubaClearPass/descriptions/Identities/Endpoint.descriptions.js +255 -0
  20. package/dist/nodes/ArubaClearPass/descriptions/Identities/ExternalAccount.descriptions.d.ts +0 -0
  21. package/dist/nodes/ArubaClearPass/descriptions/Identities/ExternalAccount.descriptions.js +0 -0
  22. package/dist/nodes/ArubaClearPass/descriptions/Identities/GuestUser.descriptions.d.ts +4 -0
  23. package/dist/nodes/ArubaClearPass/descriptions/Identities/GuestUser.descriptions.js +477 -0
  24. package/dist/nodes/ArubaClearPass/descriptions/Identities/LocalUser.descriptions.d.ts +4 -0
  25. package/dist/nodes/ArubaClearPass/descriptions/Identities/LocalUser.descriptions.js +384 -0
  26. package/dist/nodes/ArubaClearPass/descriptions/Identities/StaticHostList.descriptions.d.ts +0 -0
  27. package/dist/nodes/ArubaClearPass/descriptions/Identities/StaticHostList.descriptions.js +0 -0
  28. package/dist/nodes/ArubaClearPass/descriptions/Identities/index.d.ts +2 -0
  29. package/dist/nodes/ArubaClearPass/descriptions/Identities/index.js +23 -0
  30. package/dist/nodes/ArubaClearPass/descriptions/PolicyElements/EnforcementPolicy.descriptions.d.ts +4 -0
  31. package/dist/nodes/ArubaClearPass/descriptions/PolicyElements/EnforcementPolicy.descriptions.js +432 -0
  32. package/dist/nodes/ArubaClearPass/descriptions/PolicyElements/Role.descriptions.d.ts +4 -0
  33. package/dist/nodes/ArubaClearPass/descriptions/PolicyElements/Role.descriptions.js +263 -0
  34. package/dist/nodes/ArubaClearPass/descriptions/PolicyElements/RoleMapping.descriptions.d.ts +4 -0
  35. package/dist/nodes/ArubaClearPass/descriptions/PolicyElements/RoleMapping.descriptions.js +365 -0
  36. package/dist/nodes/ArubaClearPass/descriptions/PolicyElements/index.d.ts +2 -0
  37. package/dist/nodes/ArubaClearPass/descriptions/PolicyElements/index.js +19 -0
  38. package/dist/nodes/ArubaClearPass/helpers/apiRequest.d.ts +9 -0
  39. package/dist/nodes/ArubaClearPass/helpers/apiRequest.js +72 -0
  40. package/dist/nodes/ArubaClearPass/helpers/errorHandler.d.ts +4 -0
  41. package/dist/nodes/ArubaClearPass/helpers/errorHandler.js +31 -0
  42. package/dist/nodes/ArubaClearPass/helpers/executeOperation.d.ts +5 -0
  43. package/dist/nodes/ArubaClearPass/helpers/executeOperation.js +164 -0
  44. package/dist/nodes/ArubaClearPass/helpers/responseFormatter.d.ts +5 -0
  45. package/dist/nodes/ArubaClearPass/helpers/responseFormatter.js +17 -0
  46. package/dist/nodes/ArubaClearPass/helpers/tokenManager.d.ts +5 -0
  47. package/dist/nodes/ArubaClearPass/helpers/tokenManager.js +63 -0
  48. package/dist/nodes/ArubaClearPass/methods/EnforcementProfile/EnforcementProfile.methods.d.ts +41 -0
  49. package/dist/nodes/ArubaClearPass/methods/EnforcementProfile/EnforcementProfile.methods.js +395 -0
  50. package/dist/nodes/ArubaClearPass/methods/Identities/Device.methods.d.ts +41 -0
  51. package/dist/nodes/ArubaClearPass/methods/Identities/Device.methods.js +409 -0
  52. package/dist/nodes/ArubaClearPass/methods/Identities/Endpoint.methods.d.ts +33 -0
  53. package/dist/nodes/ArubaClearPass/methods/Identities/Endpoint.methods.js +212 -0
  54. package/dist/nodes/ArubaClearPass/methods/Identities/GuestUser.methods.d.ts +41 -0
  55. package/dist/nodes/ArubaClearPass/methods/Identities/GuestUser.methods.js +589 -0
  56. package/dist/nodes/ArubaClearPass/methods/Identities/LocalUser.methods.d.ts +41 -0
  57. package/dist/nodes/ArubaClearPass/methods/Identities/LocalUser.methods.js +407 -0
  58. package/dist/nodes/ArubaClearPass/methods/PolicyElements/EnforcementPolicy.methods.d.ts +41 -0
  59. package/dist/nodes/ArubaClearPass/methods/PolicyElements/EnforcementPolicy.methods.js +361 -0
  60. package/dist/nodes/ArubaClearPass/methods/PolicyElements/Role.methods.d.ts +41 -0
  61. package/dist/nodes/ArubaClearPass/methods/PolicyElements/Role.methods.js +298 -0
  62. package/dist/nodes/ArubaClearPass/methods/PolicyElements/RoleMapping.methods.d.ts +41 -0
  63. package/dist/nodes/ArubaClearPass/methods/PolicyElements/RoleMapping.methods.js +358 -0
  64. package/dist/nodes/ArubaClearPass/types/EnforcementProfile/EnforcementProfile.types.d.ts +131 -0
  65. package/dist/nodes/ArubaClearPass/types/EnforcementProfile/EnforcementProfile.types.js +2 -0
  66. package/dist/nodes/ArubaClearPass/types/Identities/Device.types.d.ts +55 -0
  67. package/dist/nodes/ArubaClearPass/types/Identities/Device.types.js +2 -0
  68. package/dist/nodes/ArubaClearPass/types/Identities/Endpoint.types.d.ts +12 -0
  69. package/dist/nodes/ArubaClearPass/types/Identities/Endpoint.types.js +2 -0
  70. package/dist/nodes/ArubaClearPass/types/Identities/GuestUser.types.d.ts +31 -0
  71. package/dist/nodes/ArubaClearPass/types/Identities/GuestUser.types.js +2 -0
  72. package/dist/nodes/ArubaClearPass/types/Identities/LocalUser.types.d.ts +51 -0
  73. package/dist/nodes/ArubaClearPass/types/Identities/LocalUser.types.js +2 -0
  74. package/dist/nodes/ArubaClearPass/types/PolicyElements/EnforcementPolicy.types.d.ts +37 -0
  75. package/dist/nodes/ArubaClearPass/types/PolicyElements/EnforcementPolicy.types.js +2 -0
  76. package/dist/nodes/ArubaClearPass/types/PolicyElements/Role.types.d.ts +15 -0
  77. package/dist/nodes/ArubaClearPass/types/PolicyElements/Role.types.js +2 -0
  78. package/dist/nodes/ArubaClearPass/types/PolicyElements/RoleMapping.types.d.ts +63 -0
  79. package/dist/nodes/ArubaClearPass/types/PolicyElements/RoleMapping.types.js +2 -0
  80. package/package.json +72 -0
@@ -0,0 +1,432 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.enforcementPolicyProperties = exports.enforcementPolicyFields = exports.enforcementPolicyOperations = void 0;
4
+ // Define operations for EnforcementPolicy resource
5
+ exports.enforcementPolicyOperations = {
6
+ displayName: 'Operation',
7
+ name: 'operation',
8
+ type: 'options',
9
+ displayOptions: {
10
+ show: {
11
+ domain: ['PolicyElements'],
12
+ resource: ['EnforcementPolicy'],
13
+ },
14
+ },
15
+ options: [
16
+ {
17
+ name: 'Create',
18
+ value: 'create',
19
+ description: 'Create a new enforcement policy',
20
+ action: 'Create an enforcement policy',
21
+ },
22
+ {
23
+ name: 'Delete',
24
+ value: 'delete',
25
+ description: 'Delete an enforcement policy',
26
+ action: 'Delete an enforcement policy',
27
+ },
28
+ {
29
+ name: 'Get',
30
+ value: 'get',
31
+ description: 'Get an enforcement policy by ID',
32
+ action: 'Get an enforcement policy',
33
+ },
34
+ {
35
+ name: 'Get By Name',
36
+ value: 'getByName',
37
+ description: 'Get an enforcement policy by name',
38
+ action: 'Get an enforcement policy by name',
39
+ },
40
+ {
41
+ name: 'List',
42
+ value: 'list',
43
+ description: 'Get all enforcement policies',
44
+ action: 'List all enforcement policies',
45
+ },
46
+ {
47
+ name: 'Update',
48
+ value: 'update',
49
+ description: 'Update an enforcement policy',
50
+ action: 'Update an enforcement policy',
51
+ },
52
+ {
53
+ name: 'Replace',
54
+ value: 'replace',
55
+ description: 'Replace an enforcement policy',
56
+ action: 'Replace an enforcement policy',
57
+ },
58
+ {
59
+ name: 'Delete By Name',
60
+ value: 'deleteByName',
61
+ description: 'Delete an enforcement policy by name',
62
+ action: 'Delete an enforcement policy by name',
63
+ },
64
+ {
65
+ name: 'Update By Name',
66
+ value: 'updateByName',
67
+ description: 'Update an enforcement policy by name',
68
+ action: 'Update an enforcement policy by name',
69
+ },
70
+ {
71
+ name: 'Replace By Name',
72
+ value: 'replaceByName',
73
+ description: 'Replace an enforcement policy by name',
74
+ action: 'Replace an enforcement policy by name',
75
+ },
76
+ ],
77
+ default: 'list',
78
+ };
79
+ // Define fields for EnforcementPolicy resource
80
+ exports.enforcementPolicyFields = [
81
+ // Fields for ID-based operations
82
+ {
83
+ displayName: 'Enforcement Policy ID',
84
+ name: 'enforcementPolicyId',
85
+ type: 'string',
86
+ required: true,
87
+ default: '',
88
+ displayOptions: {
89
+ show: {
90
+ domain: ['PolicyElements'],
91
+ resource: ['EnforcementPolicy'],
92
+ operation: ['get', 'update', 'delete', 'replace'],
93
+ },
94
+ },
95
+ description: 'The ID of the enforcement policy',
96
+ },
97
+ // Fields for name-based operations
98
+ {
99
+ displayName: 'Name',
100
+ name: 'name',
101
+ type: 'string',
102
+ required: true,
103
+ default: '',
104
+ displayOptions: {
105
+ show: {
106
+ domain: ['PolicyElements'],
107
+ resource: ['EnforcementPolicy'],
108
+ operation: ['getByName', 'deleteByName', 'updateByName', 'replaceByName'],
109
+ },
110
+ },
111
+ description: 'The unique name of the enforcement policy',
112
+ },
113
+ // Common fields for create and replace operations
114
+ {
115
+ displayName: 'Name',
116
+ name: 'name',
117
+ type: 'string',
118
+ required: true,
119
+ default: '',
120
+ displayOptions: {
121
+ show: {
122
+ domain: ['PolicyElements'],
123
+ resource: ['EnforcementPolicy'],
124
+ operation: ['create', 'replace', 'replaceByName'],
125
+ },
126
+ },
127
+ description: 'Name of the enforcement policy',
128
+ },
129
+ {
130
+ displayName: 'Enforcement Type',
131
+ name: 'enforcement_type',
132
+ type: 'options',
133
+ options: [
134
+ {
135
+ name: 'RADIUS',
136
+ value: 'RADIUS',
137
+ },
138
+ {
139
+ name: 'TACACS',
140
+ value: 'TACACS',
141
+ },
142
+ {
143
+ name: 'WEBAUTH',
144
+ value: 'WEBAUTH',
145
+ },
146
+ {
147
+ name: 'Application',
148
+ value: 'Application',
149
+ },
150
+ {
151
+ name: 'Event',
152
+ value: 'Event',
153
+ },
154
+ ],
155
+ required: true,
156
+ default: 'RADIUS',
157
+ displayOptions: {
158
+ show: {
159
+ domain: ['PolicyElements'],
160
+ resource: ['EnforcementPolicy'],
161
+ operation: ['create', 'replace', 'replaceByName'],
162
+ },
163
+ },
164
+ description: 'Enforcement type of the policy',
165
+ },
166
+ {
167
+ displayName: 'Default Enforcement Profile',
168
+ name: 'default_enforcement_profile',
169
+ type: 'string',
170
+ required: true,
171
+ default: '',
172
+ displayOptions: {
173
+ show: {
174
+ domain: ['PolicyElements'],
175
+ resource: ['EnforcementPolicy'],
176
+ operation: ['create', 'replace', 'replaceByName'],
177
+ },
178
+ },
179
+ description: 'Default enforcement profile for the policy',
180
+ },
181
+ {
182
+ displayName: 'Rule Evaluation Algorithm',
183
+ name: 'rule_eval_algo',
184
+ type: 'options',
185
+ options: [
186
+ {
187
+ name: 'First Applicable',
188
+ value: 'first-applicable',
189
+ description: 'Stop processing once a rule matches',
190
+ },
191
+ {
192
+ name: 'Evaluate All',
193
+ value: 'evaluate-all',
194
+ description: 'Process all rules regardless of matches',
195
+ },
196
+ ],
197
+ required: true,
198
+ default: 'first-applicable',
199
+ displayOptions: {
200
+ show: {
201
+ domain: ['PolicyElements'],
202
+ resource: ['EnforcementPolicy'],
203
+ operation: ['create', 'replace', 'replaceByName'],
204
+ },
205
+ },
206
+ description: 'Algorithm to use when evaluating rules',
207
+ },
208
+ {
209
+ displayName: 'Description',
210
+ name: 'description',
211
+ type: 'string',
212
+ required: false,
213
+ default: '',
214
+ displayOptions: {
215
+ show: {
216
+ domain: ['PolicyElements'],
217
+ resource: ['EnforcementPolicy'],
218
+ operation: ['create', 'replace', 'replaceByName'],
219
+ },
220
+ },
221
+ description: 'Description of the enforcement policy',
222
+ },
223
+ // Rules JSON Field for create/replace - This is complex, so we'll use JSON input
224
+ {
225
+ displayName: 'Rules',
226
+ name: 'rules',
227
+ type: 'json',
228
+ required: true,
229
+ default: '[]',
230
+ displayOptions: {
231
+ show: {
232
+ domain: ['PolicyElements'],
233
+ resource: ['EnforcementPolicy'],
234
+ operation: ['create', 'replace', 'replaceByName'],
235
+ },
236
+ },
237
+ description: 'JSON array of enforcement rules. Each rule should have enforcement_profile_names and condition properties.',
238
+ placeholder: `[
239
+ {
240
+ "enforcement_profile_names": "Default",
241
+ "condition": {
242
+ "type": "Connection",
243
+ "name": "Connection:Protocol",
244
+ "oper": "EQUALS",
245
+ "value": "MAC"
246
+ }
247
+ }
248
+ ]`,
249
+ },
250
+ // Update fields
251
+ {
252
+ displayName: 'Update Fields',
253
+ name: 'updateFields',
254
+ type: 'collection',
255
+ placeholder: 'Add Field',
256
+ default: {},
257
+ displayOptions: {
258
+ show: {
259
+ domain: ['PolicyElements'],
260
+ resource: ['EnforcementPolicy'],
261
+ operation: ['update', 'updateByName'],
262
+ },
263
+ },
264
+ options: [
265
+ {
266
+ displayName: 'Name',
267
+ name: 'name',
268
+ type: 'string',
269
+ default: '',
270
+ description: 'Name of the enforcement policy',
271
+ },
272
+ {
273
+ displayName: 'Description',
274
+ name: 'description',
275
+ type: 'string',
276
+ default: '',
277
+ description: 'Description of the enforcement policy',
278
+ },
279
+ {
280
+ displayName: 'Enforcement Type',
281
+ name: 'enforcement_type',
282
+ type: 'options',
283
+ options: [
284
+ {
285
+ name: 'RADIUS',
286
+ value: 'RADIUS',
287
+ },
288
+ {
289
+ name: 'TACACS',
290
+ value: 'TACACS',
291
+ },
292
+ {
293
+ name: 'WEBAUTH',
294
+ value: 'WEBAUTH',
295
+ },
296
+ {
297
+ name: 'Application',
298
+ value: 'Application',
299
+ },
300
+ {
301
+ name: 'Event',
302
+ value: 'Event',
303
+ },
304
+ ],
305
+ default: 'RADIUS',
306
+ description: 'Enforcement type of the policy',
307
+ },
308
+ {
309
+ displayName: 'Default Enforcement Profile',
310
+ name: 'default_enforcement_profile',
311
+ type: 'string',
312
+ default: '',
313
+ description: 'Default enforcement profile for the policy',
314
+ },
315
+ {
316
+ displayName: 'Rule Evaluation Algorithm',
317
+ name: 'rule_eval_algo',
318
+ type: 'options',
319
+ options: [
320
+ {
321
+ name: 'First Applicable',
322
+ value: 'first-applicable',
323
+ description: 'Stop processing once a rule matches',
324
+ },
325
+ {
326
+ name: 'Evaluate All',
327
+ value: 'evaluate-all',
328
+ description: 'Process all rules regardless of matches',
329
+ },
330
+ ],
331
+ default: 'first-applicable',
332
+ description: 'Algorithm to use when evaluating rules',
333
+ },
334
+ {
335
+ displayName: 'Rules',
336
+ name: 'rules',
337
+ type: 'json',
338
+ default: '[]',
339
+ description: 'JSON array of enforcement rules. Each rule should have enforcement_profile_names and condition properties.',
340
+ placeholder: `[
341
+ {
342
+ "enforcement_profile_names": "Default",
343
+ "condition": {
344
+ "type": "Connection",
345
+ "name": "Connection:Protocol",
346
+ "oper": "EQUALS",
347
+ "value": "MAC"
348
+ }
349
+ }
350
+ ]`,
351
+ },
352
+ ],
353
+ },
354
+ // Fields for list operation
355
+ {
356
+ displayName: 'Return All',
357
+ name: 'returnAll',
358
+ type: 'boolean',
359
+ displayOptions: {
360
+ show: {
361
+ domain: ['PolicyElements'],
362
+ resource: ['EnforcementPolicy'],
363
+ operation: ['list'],
364
+ },
365
+ },
366
+ default: false,
367
+ description: 'Whether to return all results or only up to a given limit',
368
+ },
369
+ {
370
+ displayName: 'Limit',
371
+ name: 'limit',
372
+ type: 'number',
373
+ displayOptions: {
374
+ show: {
375
+ domain: ['PolicyElements'],
376
+ resource: ['EnforcementPolicy'],
377
+ operation: ['list'],
378
+ returnAll: [false],
379
+ },
380
+ },
381
+ typeOptions: {
382
+ minValue: 1,
383
+ maxValue: 1000,
384
+ },
385
+ default: 100,
386
+ description: 'Max number of results to return',
387
+ },
388
+ {
389
+ displayName: 'Filters',
390
+ name: 'filters',
391
+ type: 'collection',
392
+ placeholder: 'Add Filter',
393
+ default: {},
394
+ displayOptions: {
395
+ show: {
396
+ domain: ['PolicyElements'],
397
+ resource: ['EnforcementPolicy'],
398
+ operation: ['list'],
399
+ },
400
+ },
401
+ options: [
402
+ {
403
+ displayName: 'Filter',
404
+ name: 'filter',
405
+ type: 'string',
406
+ default: '',
407
+ description: 'JSON filter expression specifying the items to return',
408
+ placeholder: '{"name": {"$contains": "RADIUS"}}',
409
+ },
410
+ {
411
+ displayName: 'Sort',
412
+ name: 'sort',
413
+ type: 'string',
414
+ default: '+id',
415
+ description: 'Sort ordering for returned items (default +id)',
416
+ placeholder: '+name or -created_at',
417
+ },
418
+ {
419
+ displayName: 'Calculate Count',
420
+ name: 'calculate_count',
421
+ type: 'boolean',
422
+ default: false,
423
+ description: 'Whether to calculate the total item count',
424
+ },
425
+ ],
426
+ },
427
+ ];
428
+ // Export combined properties for use in index.ts
429
+ exports.enforcementPolicyProperties = [
430
+ exports.enforcementPolicyOperations,
431
+ ...exports.enforcementPolicyFields,
432
+ ];
@@ -0,0 +1,4 @@
1
+ import { INodeProperties } from 'n8n-workflow';
2
+ export declare const roleOperations: INodeProperties;
3
+ export declare const roleFields: INodeProperties[];
4
+ export declare const roleProperties: INodeProperties[];
@@ -0,0 +1,263 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.roleProperties = exports.roleFields = exports.roleOperations = void 0;
4
+ // Define operations for Role resource
5
+ exports.roleOperations = {
6
+ displayName: 'Operation',
7
+ name: 'operation',
8
+ type: 'options',
9
+ displayOptions: {
10
+ show: {
11
+ domain: ['PolicyElements'],
12
+ resource: ['Role'],
13
+ },
14
+ },
15
+ options: [
16
+ {
17
+ name: 'Create',
18
+ value: 'create',
19
+ description: 'Create a new role',
20
+ action: 'Create a role',
21
+ },
22
+ {
23
+ name: 'Delete',
24
+ value: 'delete',
25
+ description: 'Delete a role',
26
+ action: 'Delete a role',
27
+ },
28
+ {
29
+ name: 'Get',
30
+ value: 'get',
31
+ description: 'Get a role by ID',
32
+ action: 'Get a role',
33
+ },
34
+ {
35
+ name: 'Get By Name',
36
+ value: 'getByName',
37
+ description: 'Get a role by name',
38
+ action: 'Get a role by name',
39
+ },
40
+ {
41
+ name: 'List',
42
+ value: 'list',
43
+ description: 'Get all roles',
44
+ action: 'List all roles',
45
+ },
46
+ {
47
+ name: 'Update',
48
+ value: 'update',
49
+ description: 'Update a role',
50
+ action: 'Update a role',
51
+ },
52
+ {
53
+ name: 'Replace',
54
+ value: 'replace',
55
+ description: 'Replace a role',
56
+ action: 'Replace a role',
57
+ },
58
+ ],
59
+ default: 'list',
60
+ };
61
+ // Define fields for Role resource
62
+ exports.roleFields = [
63
+ // Fields for ID-based operations
64
+ {
65
+ displayName: 'Role ID',
66
+ name: 'roleId',
67
+ type: 'string',
68
+ required: true,
69
+ default: '',
70
+ displayOptions: {
71
+ show: {
72
+ domain: ['PolicyElements'],
73
+ resource: ['Role'],
74
+ operation: ['get', 'update', 'delete', 'replace'],
75
+ },
76
+ },
77
+ description: 'The ID of the role',
78
+ },
79
+ // Fields for name-based operations
80
+ {
81
+ displayName: 'Name',
82
+ name: 'name',
83
+ type: 'string',
84
+ required: true,
85
+ default: '',
86
+ displayOptions: {
87
+ show: {
88
+ domain: ['PolicyElements'],
89
+ resource: ['Role'],
90
+ operation: ['getByName', 'deleteByName', 'updateByName', 'replaceByName'],
91
+ },
92
+ },
93
+ description: 'The unique name of the role',
94
+ },
95
+ // Fields for create operation
96
+ {
97
+ displayName: 'Name',
98
+ name: 'name',
99
+ type: 'string',
100
+ required: true,
101
+ default: '',
102
+ displayOptions: {
103
+ show: {
104
+ domain: ['PolicyElements'],
105
+ resource: ['Role'],
106
+ operation: ['create'],
107
+ },
108
+ },
109
+ description: 'Name of the role',
110
+ },
111
+ {
112
+ displayName: 'Description',
113
+ name: 'description',
114
+ type: 'string',
115
+ required: false,
116
+ default: '',
117
+ displayOptions: {
118
+ show: {
119
+ domain: ['PolicyElements'],
120
+ resource: ['Role'],
121
+ operation: ['create'],
122
+ },
123
+ },
124
+ description: 'Description of the role',
125
+ },
126
+ // Fields for replace operation
127
+ {
128
+ displayName: 'Name',
129
+ name: 'name',
130
+ type: 'string',
131
+ required: true,
132
+ default: '',
133
+ displayOptions: {
134
+ show: {
135
+ domain: ['PolicyElements'],
136
+ resource: ['Role'],
137
+ operation: ['replace'],
138
+ },
139
+ },
140
+ description: 'Name of the role',
141
+ },
142
+ {
143
+ displayName: 'Description',
144
+ name: 'description',
145
+ type: 'string',
146
+ required: false,
147
+ default: '',
148
+ displayOptions: {
149
+ show: {
150
+ domain: ['PolicyElements'],
151
+ resource: ['Role'],
152
+ operation: ['replace'],
153
+ },
154
+ },
155
+ description: 'Description of the role',
156
+ },
157
+ // Fields for update operation - using an updateFields collection
158
+ {
159
+ displayName: 'Update Fields',
160
+ name: 'updateFields',
161
+ type: 'collection',
162
+ placeholder: 'Add Field',
163
+ default: {},
164
+ displayOptions: {
165
+ show: {
166
+ domain: ['PolicyElements'],
167
+ resource: ['Role'],
168
+ operation: ['update', 'updateByName'],
169
+ },
170
+ },
171
+ options: [
172
+ {
173
+ displayName: 'Name',
174
+ name: 'name',
175
+ type: 'string',
176
+ default: '',
177
+ description: 'Name of the role',
178
+ },
179
+ {
180
+ displayName: 'Description',
181
+ name: 'description',
182
+ type: 'string',
183
+ default: '',
184
+ description: 'Description of the role',
185
+ },
186
+ ],
187
+ },
188
+ // Fields for list operation
189
+ {
190
+ displayName: 'Return All',
191
+ name: 'returnAll',
192
+ type: 'boolean',
193
+ displayOptions: {
194
+ show: {
195
+ domain: ['PolicyElements'],
196
+ resource: ['Role'],
197
+ operation: ['list'],
198
+ },
199
+ },
200
+ default: false,
201
+ description: 'Whether to return all results or only up to a given limit',
202
+ },
203
+ {
204
+ displayName: 'Limit',
205
+ name: 'limit',
206
+ type: 'number',
207
+ displayOptions: {
208
+ show: {
209
+ domain: ['PolicyElements'],
210
+ resource: ['Role'],
211
+ operation: ['list'],
212
+ returnAll: [false],
213
+ },
214
+ },
215
+ typeOptions: {
216
+ minValue: 1,
217
+ maxValue: 1000,
218
+ },
219
+ default: 100,
220
+ description: 'Max number of results to return',
221
+ },
222
+ {
223
+ displayName: 'Filters',
224
+ name: 'filters',
225
+ type: 'collection',
226
+ placeholder: 'Add Filter',
227
+ default: {},
228
+ displayOptions: {
229
+ show: {
230
+ domain: ['PolicyElements'],
231
+ resource: ['Role'],
232
+ operation: ['list'],
233
+ },
234
+ },
235
+ options: [
236
+ {
237
+ displayName: 'Filter',
238
+ name: 'filter',
239
+ type: 'string',
240
+ default: '',
241
+ description: 'JSON filter expression specifying the items to return',
242
+ placeholder: '{"name": {"$contains": "admin"}}',
243
+ },
244
+ {
245
+ displayName: 'Sort',
246
+ name: 'sort',
247
+ type: 'string',
248
+ default: '+id',
249
+ description: 'Sort ordering for returned items (default +id)',
250
+ placeholder: '+name or -created_at',
251
+ },
252
+ {
253
+ displayName: 'Calculate Count',
254
+ name: 'calculate_count',
255
+ type: 'boolean',
256
+ default: false,
257
+ description: 'Whether to calculate the total item count',
258
+ },
259
+ ],
260
+ },
261
+ ];
262
+ // Export combined properties for use in index.ts
263
+ exports.roleProperties = [exports.roleOperations, ...exports.roleFields];
@@ -0,0 +1,4 @@
1
+ import { INodeProperties } from 'n8n-workflow';
2
+ export declare const roleMappingOperations: INodeProperties;
3
+ export declare const roleMappingFields: INodeProperties[];
4
+ export declare const roleMappingProperties: INodeProperties[];