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,361 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.listEnforcementPolicies = listEnforcementPolicies;
4
+ exports.getEnforcementPolicy = getEnforcementPolicy;
5
+ exports.getEnforcementPolicyByName = getEnforcementPolicyByName;
6
+ exports.createEnforcementPolicy = createEnforcementPolicy;
7
+ exports.updateEnforcementPolicy = updateEnforcementPolicy;
8
+ exports.updateEnforcementPolicyByName = updateEnforcementPolicyByName;
9
+ exports.replaceEnforcementPolicy = replaceEnforcementPolicy;
10
+ exports.replaceEnforcementPolicyByName = replaceEnforcementPolicyByName;
11
+ exports.deleteEnforcementPolicy = deleteEnforcementPolicy;
12
+ exports.deleteEnforcementPolicyByName = deleteEnforcementPolicyByName;
13
+ // methods/PolicyElements/EnforcementPolicy.methods.ts
14
+ const n8n_workflow_1 = require("n8n-workflow");
15
+ const apiRequest_1 = require("../../helpers/apiRequest");
16
+ const responseFormatter_1 = require("../../helpers/responseFormatter");
17
+ /**
18
+ * List all enforcement policies
19
+ */
20
+ async function listEnforcementPolicies() {
21
+ try {
22
+ const returnAll = this.getNodeParameter('returnAll', 0);
23
+ const filters = this.getNodeParameter('filters', 0, {});
24
+ const endpoint = '/enforcement-policy';
25
+ let responseData;
26
+ if (returnAll) {
27
+ responseData = await apiRequest_1.apiRequestAllItems.call(this, 'GET', endpoint, {}, filters);
28
+ }
29
+ else {
30
+ const limit = this.getNodeParameter('limit', 0);
31
+ if (!filters.limit) {
32
+ filters.limit = limit;
33
+ }
34
+ responseData = await apiRequest_1.apiRequest.call(this, 'GET', endpoint, {}, filters);
35
+ }
36
+ return responseFormatter_1.formatResponse.call(this, responseData);
37
+ }
38
+ catch (error) {
39
+ const errorObject = {};
40
+ if (error instanceof Error) {
41
+ errorObject.message = error.message;
42
+ if (error.stack) {
43
+ errorObject.stackTrace = error.stack;
44
+ }
45
+ }
46
+ else {
47
+ errorObject.message = 'Unknown error in listEnforcementPolicies';
48
+ }
49
+ throw new n8n_workflow_1.NodeApiError(this.getNode(), errorObject);
50
+ }
51
+ }
52
+ /**
53
+ * Get an enforcement policy by ID
54
+ */
55
+ async function getEnforcementPolicy() {
56
+ try {
57
+ const enforcementPolicyId = this.getNodeParameter('enforcementPolicyId', 0);
58
+ const endpoint = `/enforcement-policy/${enforcementPolicyId}`;
59
+ const responseData = await apiRequest_1.apiRequest.call(this, 'GET', endpoint);
60
+ return responseFormatter_1.formatResponse.call(this, responseData);
61
+ }
62
+ catch (error) {
63
+ const errorObject = {};
64
+ if (error instanceof Error) {
65
+ errorObject.message = error.message;
66
+ if (error.stack) {
67
+ errorObject.stackTrace = error.stack;
68
+ }
69
+ }
70
+ else {
71
+ errorObject.message = 'Unknown error in getEnforcementPolicy';
72
+ }
73
+ throw new n8n_workflow_1.NodeApiError(this.getNode(), errorObject);
74
+ }
75
+ }
76
+ /**
77
+ * Get an enforcement policy by name
78
+ */
79
+ async function getEnforcementPolicyByName() {
80
+ try {
81
+ const name = this.getNodeParameter('name', 0);
82
+ const endpoint = `/enforcement-policy/name/${name}`;
83
+ const responseData = await apiRequest_1.apiRequest.call(this, 'GET', endpoint);
84
+ return responseFormatter_1.formatResponse.call(this, responseData);
85
+ }
86
+ catch (error) {
87
+ const errorObject = {};
88
+ if (error instanceof Error) {
89
+ errorObject.message = error.message;
90
+ if (error.stack) {
91
+ errorObject.stackTrace = error.stack;
92
+ }
93
+ }
94
+ else {
95
+ errorObject.message = 'Unknown error in getEnforcementPolicyByName';
96
+ }
97
+ throw new n8n_workflow_1.NodeApiError(this.getNode(), errorObject);
98
+ }
99
+ }
100
+ /**
101
+ * Create a new enforcement policy
102
+ */
103
+ async function createEnforcementPolicy() {
104
+ try {
105
+ const body = {};
106
+ // Add required fields
107
+ body.name = this.getNodeParameter('name', 0);
108
+ body.enforcement_type = this.getNodeParameter('enforcement_type', 0);
109
+ body.default_enforcement_profile = this.getNodeParameter('default_enforcement_profile', 0);
110
+ body.rule_eval_algo = this.getNodeParameter('rule_eval_algo', 0);
111
+ // Add optional fields
112
+ const description = this.getNodeParameter('description', 0, '');
113
+ if (description) {
114
+ body.description = description;
115
+ }
116
+ // Add rules (required)
117
+ const rulesJson = this.getNodeParameter('rules', 0);
118
+ try {
119
+ body.rules = JSON.parse(rulesJson);
120
+ }
121
+ catch (parseError) {
122
+ throw new Error(`Invalid JSON in rules: ${parseError.message}`);
123
+ }
124
+ const endpoint = '/enforcement-policy';
125
+ const responseData = await apiRequest_1.apiRequest.call(this, 'POST', endpoint, body);
126
+ return responseFormatter_1.formatResponse.call(this, responseData);
127
+ }
128
+ catch (error) {
129
+ const errorObject = {};
130
+ if (error instanceof Error) {
131
+ errorObject.message = error.message;
132
+ if (error.stack) {
133
+ errorObject.stackTrace = error.stack;
134
+ }
135
+ }
136
+ else {
137
+ errorObject.message = 'Unknown error in createEnforcementPolicy';
138
+ }
139
+ throw new n8n_workflow_1.NodeApiError(this.getNode(), errorObject);
140
+ }
141
+ }
142
+ /**
143
+ * Update an enforcement policy by ID
144
+ */
145
+ async function updateEnforcementPolicy() {
146
+ try {
147
+ const enforcementPolicyId = this.getNodeParameter('enforcementPolicyId', 0);
148
+ const updateFields = this.getNodeParameter('updateFields', 0, {});
149
+ if (!Object.keys(updateFields).length) {
150
+ throw new Error('Please specify at least one field to update');
151
+ }
152
+ const body = {};
153
+ // Handle fields
154
+ Object.entries(updateFields).forEach(([key, value]) => {
155
+ if (key === 'rules' && typeof value === 'string') {
156
+ try {
157
+ body[key] = JSON.parse(value);
158
+ }
159
+ catch (parseError) {
160
+ throw new Error(`Invalid JSON in rules: ${parseError.message}`);
161
+ }
162
+ }
163
+ else {
164
+ body[key] = value;
165
+ }
166
+ });
167
+ const endpoint = `/enforcement-policy/${enforcementPolicyId}`;
168
+ const responseData = await apiRequest_1.apiRequest.call(this, 'PATCH', endpoint, body);
169
+ return responseFormatter_1.formatResponse.call(this, responseData);
170
+ }
171
+ catch (error) {
172
+ const errorObject = {};
173
+ if (error instanceof Error) {
174
+ errorObject.message = error.message;
175
+ if (error.stack) {
176
+ errorObject.stackTrace = error.stack;
177
+ }
178
+ }
179
+ else {
180
+ errorObject.message = 'Unknown error in updateEnforcementPolicy';
181
+ }
182
+ throw new n8n_workflow_1.NodeApiError(this.getNode(), errorObject);
183
+ }
184
+ }
185
+ /**
186
+ * Update an enforcement policy by name
187
+ */
188
+ async function updateEnforcementPolicyByName() {
189
+ try {
190
+ const name = this.getNodeParameter('name', 0);
191
+ const updateFields = this.getNodeParameter('updateFields', 0, {});
192
+ if (!Object.keys(updateFields).length) {
193
+ throw new Error('Please specify at least one field to update');
194
+ }
195
+ const body = {};
196
+ // Handle fields
197
+ Object.entries(updateFields).forEach(([key, value]) => {
198
+ if (key === 'rules' && typeof value === 'string') {
199
+ try {
200
+ body[key] = JSON.parse(value);
201
+ }
202
+ catch (parseError) {
203
+ throw new Error(`Invalid JSON in rules: ${parseError.message}`);
204
+ }
205
+ }
206
+ else {
207
+ body[key] = value;
208
+ }
209
+ });
210
+ const endpoint = `/enforcement-policy/name/${name}`;
211
+ const responseData = await apiRequest_1.apiRequest.call(this, 'PATCH', endpoint, body);
212
+ return responseFormatter_1.formatResponse.call(this, responseData);
213
+ }
214
+ catch (error) {
215
+ const errorObject = {};
216
+ if (error instanceof Error) {
217
+ errorObject.message = error.message;
218
+ if (error.stack) {
219
+ errorObject.stackTrace = error.stack;
220
+ }
221
+ }
222
+ else {
223
+ errorObject.message = 'Unknown error in updateEnforcementPolicyByName';
224
+ }
225
+ throw new n8n_workflow_1.NodeApiError(this.getNode(), errorObject);
226
+ }
227
+ }
228
+ /**
229
+ * Replace an enforcement policy by ID
230
+ */
231
+ async function replaceEnforcementPolicy() {
232
+ try {
233
+ const enforcementPolicyId = this.getNodeParameter('enforcementPolicyId', 0);
234
+ const body = {};
235
+ // Add required fields
236
+ body.name = this.getNodeParameter('name', 0);
237
+ body.enforcement_type = this.getNodeParameter('enforcement_type', 0);
238
+ body.default_enforcement_profile = this.getNodeParameter('default_enforcement_profile', 0);
239
+ body.rule_eval_algo = this.getNodeParameter('rule_eval_algo', 0);
240
+ // Add optional fields
241
+ const description = this.getNodeParameter('description', 0, '');
242
+ if (description) {
243
+ body.description = description;
244
+ }
245
+ // Add rules (required)
246
+ const rulesJson = this.getNodeParameter('rules', 0);
247
+ try {
248
+ body.rules = JSON.parse(rulesJson);
249
+ }
250
+ catch (parseError) {
251
+ throw new Error(`Invalid JSON in rules: ${parseError.message}`);
252
+ }
253
+ const endpoint = `/enforcement-policy/${enforcementPolicyId}`;
254
+ const responseData = await apiRequest_1.apiRequest.call(this, 'PUT', endpoint, body);
255
+ return responseFormatter_1.formatResponse.call(this, responseData);
256
+ }
257
+ catch (error) {
258
+ const errorObject = {};
259
+ if (error instanceof Error) {
260
+ errorObject.message = error.message;
261
+ if (error.stack) {
262
+ errorObject.stackTrace = error.stack;
263
+ }
264
+ }
265
+ else {
266
+ errorObject.message = 'Unknown error in replaceEnforcementPolicy';
267
+ }
268
+ throw new n8n_workflow_1.NodeApiError(this.getNode(), errorObject);
269
+ }
270
+ }
271
+ /**
272
+ * Replace an enforcement policy by name
273
+ */
274
+ async function replaceEnforcementPolicyByName() {
275
+ try {
276
+ const name = this.getNodeParameter('name', 0);
277
+ const body = {};
278
+ // Add required fields
279
+ body.name = this.getNodeParameter('name', 0);
280
+ body.enforcement_type = this.getNodeParameter('enforcement_type', 0);
281
+ body.default_enforcement_profile = this.getNodeParameter('default_enforcement_profile', 0);
282
+ body.rule_eval_algo = this.getNodeParameter('rule_eval_algo', 0);
283
+ // Add optional fields
284
+ const description = this.getNodeParameter('description', 0, '');
285
+ if (description) {
286
+ body.description = description;
287
+ }
288
+ // Add rules (required)
289
+ const rulesJson = this.getNodeParameter('rules', 0);
290
+ try {
291
+ body.rules = JSON.parse(rulesJson);
292
+ }
293
+ catch (parseError) {
294
+ throw new Error(`Invalid JSON in rules: ${parseError.message}`);
295
+ }
296
+ const endpoint = `/enforcement-policy/name/${name}`;
297
+ const responseData = await apiRequest_1.apiRequest.call(this, 'PUT', endpoint, body);
298
+ return responseFormatter_1.formatResponse.call(this, responseData);
299
+ }
300
+ catch (error) {
301
+ const errorObject = {};
302
+ if (error instanceof Error) {
303
+ errorObject.message = error.message;
304
+ if (error.stack) {
305
+ errorObject.stackTrace = error.stack;
306
+ }
307
+ }
308
+ else {
309
+ errorObject.message = 'Unknown error in replaceEnforcementPolicyByName';
310
+ }
311
+ throw new n8n_workflow_1.NodeApiError(this.getNode(), errorObject);
312
+ }
313
+ }
314
+ /**
315
+ * Delete an enforcement policy by ID
316
+ */
317
+ async function deleteEnforcementPolicy() {
318
+ try {
319
+ const enforcementPolicyId = this.getNodeParameter('enforcementPolicyId', 0);
320
+ const endpoint = `/enforcement-policy/${enforcementPolicyId}`;
321
+ await apiRequest_1.apiRequest.call(this, 'DELETE', endpoint);
322
+ return [{ json: { success: true } }];
323
+ }
324
+ catch (error) {
325
+ const errorObject = {};
326
+ if (error instanceof Error) {
327
+ errorObject.message = error.message;
328
+ if (error.stack) {
329
+ errorObject.stackTrace = error.stack;
330
+ }
331
+ }
332
+ else {
333
+ errorObject.message = 'Unknown error in deleteEnforcementPolicy';
334
+ }
335
+ throw new n8n_workflow_1.NodeApiError(this.getNode(), errorObject);
336
+ }
337
+ }
338
+ /**
339
+ * Delete an enforcement policy by name
340
+ */
341
+ async function deleteEnforcementPolicyByName() {
342
+ try {
343
+ const name = this.getNodeParameter('name', 0);
344
+ const endpoint = `/enforcement-policy/name/${name}`;
345
+ await apiRequest_1.apiRequest.call(this, 'DELETE', endpoint);
346
+ return [{ json: { success: true } }];
347
+ }
348
+ catch (error) {
349
+ const errorObject = {};
350
+ if (error instanceof Error) {
351
+ errorObject.message = error.message;
352
+ if (error.stack) {
353
+ errorObject.stackTrace = error.stack;
354
+ }
355
+ }
356
+ else {
357
+ errorObject.message = 'Unknown error in deleteEnforcementPolicyByName';
358
+ }
359
+ throw new n8n_workflow_1.NodeApiError(this.getNode(), errorObject);
360
+ }
361
+ }
@@ -0,0 +1,41 @@
1
+ import { IExecuteFunctions, INodeExecutionData } from 'n8n-workflow';
2
+ /**
3
+ * List all roles
4
+ */
5
+ export declare function listRoles(this: IExecuteFunctions): Promise<INodeExecutionData[]>;
6
+ /**
7
+ * Get a role by ID
8
+ */
9
+ export declare function getRole(this: IExecuteFunctions): Promise<INodeExecutionData[]>;
10
+ /**
11
+ * Get a role by name
12
+ */
13
+ export declare function getRoleByName(this: IExecuteFunctions): Promise<INodeExecutionData[]>;
14
+ /**
15
+ * Create a new role
16
+ */
17
+ export declare function createRole(this: IExecuteFunctions): Promise<INodeExecutionData[]>;
18
+ /**
19
+ * Update a role by ID
20
+ */
21
+ export declare function updateRole(this: IExecuteFunctions): Promise<INodeExecutionData[]>;
22
+ /**
23
+ * Update a role by name
24
+ */
25
+ export declare function updateRoleByName(this: IExecuteFunctions): Promise<INodeExecutionData[]>;
26
+ /**
27
+ * Replace a role by ID
28
+ */
29
+ export declare function replaceRole(this: IExecuteFunctions): Promise<INodeExecutionData[]>;
30
+ /**
31
+ * Replace a role by name
32
+ */
33
+ export declare function replaceRoleByName(this: IExecuteFunctions): Promise<INodeExecutionData[]>;
34
+ /**
35
+ * Delete a role by ID
36
+ */
37
+ export declare function deleteRole(this: IExecuteFunctions): Promise<INodeExecutionData[]>;
38
+ /**
39
+ * Delete a role by name
40
+ */
41
+ export declare function deleteRoleByName(this: IExecuteFunctions): Promise<INodeExecutionData[]>;
@@ -0,0 +1,298 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.listRoles = listRoles;
4
+ exports.getRole = getRole;
5
+ exports.getRoleByName = getRoleByName;
6
+ exports.createRole = createRole;
7
+ exports.updateRole = updateRole;
8
+ exports.updateRoleByName = updateRoleByName;
9
+ exports.replaceRole = replaceRole;
10
+ exports.replaceRoleByName = replaceRoleByName;
11
+ exports.deleteRole = deleteRole;
12
+ exports.deleteRoleByName = deleteRoleByName;
13
+ // methods/PolicyElements/Role.methods.ts
14
+ const n8n_workflow_1 = require("n8n-workflow");
15
+ const apiRequest_1 = require("../../helpers/apiRequest");
16
+ const responseFormatter_1 = require("../../helpers/responseFormatter");
17
+ /**
18
+ * List all roles
19
+ */
20
+ async function listRoles() {
21
+ try {
22
+ const returnAll = this.getNodeParameter('returnAll', 0);
23
+ const filters = this.getNodeParameter('filters', 0, {});
24
+ const endpoint = '/role';
25
+ let responseData;
26
+ if (returnAll) {
27
+ responseData = await apiRequest_1.apiRequestAllItems.call(this, 'GET', endpoint, {}, filters);
28
+ }
29
+ else {
30
+ const limit = this.getNodeParameter('limit', 0);
31
+ if (!filters.limit) {
32
+ filters.limit = limit;
33
+ }
34
+ responseData = await apiRequest_1.apiRequest.call(this, 'GET', endpoint, {}, filters);
35
+ }
36
+ return responseFormatter_1.formatResponse.call(this, responseData);
37
+ }
38
+ catch (error) {
39
+ const errorObject = {};
40
+ if (error instanceof Error) {
41
+ errorObject.message = error.message;
42
+ if (error.stack) {
43
+ errorObject.stackTrace = error.stack;
44
+ }
45
+ }
46
+ else {
47
+ errorObject.message = 'Unknown error in listRoles';
48
+ }
49
+ throw new n8n_workflow_1.NodeApiError(this.getNode(), errorObject);
50
+ }
51
+ }
52
+ /**
53
+ * Get a role by ID
54
+ */
55
+ async function getRole() {
56
+ try {
57
+ const roleId = this.getNodeParameter('roleId', 0);
58
+ const endpoint = `/role/${roleId}`;
59
+ const responseData = await apiRequest_1.apiRequest.call(this, 'GET', endpoint);
60
+ return responseFormatter_1.formatResponse.call(this, responseData);
61
+ }
62
+ catch (error) {
63
+ const errorObject = {};
64
+ if (error instanceof Error) {
65
+ errorObject.message = error.message;
66
+ if (error.stack) {
67
+ errorObject.stackTrace = error.stack;
68
+ }
69
+ }
70
+ else {
71
+ errorObject.message = 'Unknown error in getRole';
72
+ }
73
+ throw new n8n_workflow_1.NodeApiError(this.getNode(), errorObject);
74
+ }
75
+ }
76
+ /**
77
+ * Get a role by name
78
+ */
79
+ async function getRoleByName() {
80
+ try {
81
+ const name = this.getNodeParameter('name', 0);
82
+ const endpoint = `/role/name/${name}`;
83
+ const responseData = await apiRequest_1.apiRequest.call(this, 'GET', endpoint);
84
+ return responseFormatter_1.formatResponse.call(this, responseData);
85
+ }
86
+ catch (error) {
87
+ const errorObject = {};
88
+ if (error instanceof Error) {
89
+ errorObject.message = error.message;
90
+ if (error.stack) {
91
+ errorObject.stackTrace = error.stack;
92
+ }
93
+ }
94
+ else {
95
+ errorObject.message = 'Unknown error in getRoleByName';
96
+ }
97
+ throw new n8n_workflow_1.NodeApiError(this.getNode(), errorObject);
98
+ }
99
+ }
100
+ /**
101
+ * Create a new role
102
+ */
103
+ async function createRole() {
104
+ try {
105
+ const body = {};
106
+ // Add required fields
107
+ body.name = this.getNodeParameter('name', 0);
108
+ // Add optional fields
109
+ const description = this.getNodeParameter('description', 0, '');
110
+ if (description) {
111
+ body.description = description;
112
+ }
113
+ const endpoint = '/role';
114
+ const responseData = await apiRequest_1.apiRequest.call(this, 'POST', endpoint, body);
115
+ return responseFormatter_1.formatResponse.call(this, responseData);
116
+ }
117
+ catch (error) {
118
+ const errorObject = {};
119
+ if (error instanceof Error) {
120
+ errorObject.message = error.message;
121
+ if (error.stack) {
122
+ errorObject.stackTrace = error.stack;
123
+ }
124
+ }
125
+ else {
126
+ errorObject.message = 'Unknown error in createRole';
127
+ }
128
+ throw new n8n_workflow_1.NodeApiError(this.getNode(), errorObject);
129
+ }
130
+ }
131
+ /**
132
+ * Update a role by ID
133
+ */
134
+ async function updateRole() {
135
+ try {
136
+ const roleId = this.getNodeParameter('roleId', 0);
137
+ const updateFields = this.getNodeParameter('updateFields', 0, {});
138
+ if (!Object.keys(updateFields).length) {
139
+ throw new Error('Please specify at least one field to update');
140
+ }
141
+ const endpoint = `/role/${roleId}`;
142
+ const responseData = await apiRequest_1.apiRequest.call(this, 'PATCH', endpoint, updateFields);
143
+ return responseFormatter_1.formatResponse.call(this, responseData);
144
+ }
145
+ catch (error) {
146
+ const errorObject = {};
147
+ if (error instanceof Error) {
148
+ errorObject.message = error.message;
149
+ if (error.stack) {
150
+ errorObject.stackTrace = error.stack;
151
+ }
152
+ }
153
+ else {
154
+ errorObject.message = 'Unknown error in updateRole';
155
+ }
156
+ throw new n8n_workflow_1.NodeApiError(this.getNode(), errorObject);
157
+ }
158
+ }
159
+ /**
160
+ * Update a role by name
161
+ */
162
+ async function updateRoleByName() {
163
+ try {
164
+ const name = this.getNodeParameter('name', 0);
165
+ const updateFields = this.getNodeParameter('updateFields', 0, {});
166
+ if (!Object.keys(updateFields).length) {
167
+ throw new Error('Please specify at least one field to update');
168
+ }
169
+ const endpoint = `/role/name/${name}`;
170
+ const responseData = await apiRequest_1.apiRequest.call(this, 'PATCH', endpoint, updateFields);
171
+ return responseFormatter_1.formatResponse.call(this, responseData);
172
+ }
173
+ catch (error) {
174
+ const errorObject = {};
175
+ if (error instanceof Error) {
176
+ errorObject.message = error.message;
177
+ if (error.stack) {
178
+ errorObject.stackTrace = error.stack;
179
+ }
180
+ }
181
+ else {
182
+ errorObject.message = 'Unknown error in updateRoleByName';
183
+ }
184
+ throw new n8n_workflow_1.NodeApiError(this.getNode(), errorObject);
185
+ }
186
+ }
187
+ /**
188
+ * Replace a role by ID
189
+ */
190
+ async function replaceRole() {
191
+ try {
192
+ const roleId = this.getNodeParameter('roleId', 0);
193
+ const body = {};
194
+ // Add required fields
195
+ body.name = this.getNodeParameter('name', 0);
196
+ // Add optional fields
197
+ const description = this.getNodeParameter('description', 0, '');
198
+ if (description) {
199
+ body.description = description;
200
+ }
201
+ const endpoint = `/role/${roleId}`;
202
+ const responseData = await apiRequest_1.apiRequest.call(this, 'PUT', endpoint, body);
203
+ return responseFormatter_1.formatResponse.call(this, responseData);
204
+ }
205
+ catch (error) {
206
+ const errorObject = {};
207
+ if (error instanceof Error) {
208
+ errorObject.message = error.message;
209
+ if (error.stack) {
210
+ errorObject.stackTrace = error.stack;
211
+ }
212
+ }
213
+ else {
214
+ errorObject.message = 'Unknown error in replaceRole';
215
+ }
216
+ throw new n8n_workflow_1.NodeApiError(this.getNode(), errorObject);
217
+ }
218
+ }
219
+ /**
220
+ * Replace a role by name
221
+ */
222
+ async function replaceRoleByName() {
223
+ try {
224
+ const name = this.getNodeParameter('name', 0);
225
+ const body = {};
226
+ // Add required fields
227
+ body.name = this.getNodeParameter('name', 0);
228
+ // Add optional fields
229
+ const description = this.getNodeParameter('description', 0, '');
230
+ if (description) {
231
+ body.description = description;
232
+ }
233
+ const endpoint = `/role/name/${name}`;
234
+ const responseData = await apiRequest_1.apiRequest.call(this, 'PUT', endpoint, body);
235
+ return responseFormatter_1.formatResponse.call(this, responseData);
236
+ }
237
+ catch (error) {
238
+ const errorObject = {};
239
+ if (error instanceof Error) {
240
+ errorObject.message = error.message;
241
+ if (error.stack) {
242
+ errorObject.stackTrace = error.stack;
243
+ }
244
+ }
245
+ else {
246
+ errorObject.message = 'Unknown error in replaceRoleByName';
247
+ }
248
+ throw new n8n_workflow_1.NodeApiError(this.getNode(), errorObject);
249
+ }
250
+ }
251
+ /**
252
+ * Delete a role by ID
253
+ */
254
+ async function deleteRole() {
255
+ try {
256
+ const roleId = this.getNodeParameter('roleId', 0);
257
+ const endpoint = `/role/${roleId}`;
258
+ await apiRequest_1.apiRequest.call(this, 'DELETE', endpoint);
259
+ return [{ json: { success: true } }];
260
+ }
261
+ catch (error) {
262
+ const errorObject = {};
263
+ if (error instanceof Error) {
264
+ errorObject.message = error.message;
265
+ if (error.stack) {
266
+ errorObject.stackTrace = error.stack;
267
+ }
268
+ }
269
+ else {
270
+ errorObject.message = 'Unknown error in deleteRole';
271
+ }
272
+ throw new n8n_workflow_1.NodeApiError(this.getNode(), errorObject);
273
+ }
274
+ }
275
+ /**
276
+ * Delete a role by name
277
+ */
278
+ async function deleteRoleByName() {
279
+ try {
280
+ const name = this.getNodeParameter('name', 0);
281
+ const endpoint = `/role/name/${name}`;
282
+ await apiRequest_1.apiRequest.call(this, 'DELETE', endpoint);
283
+ return [{ json: { success: true } }];
284
+ }
285
+ catch (error) {
286
+ const errorObject = {};
287
+ if (error instanceof Error) {
288
+ errorObject.message = error.message;
289
+ if (error.stack) {
290
+ errorObject.stackTrace = error.stack;
291
+ }
292
+ }
293
+ else {
294
+ errorObject.message = 'Unknown error in deleteRoleByName';
295
+ }
296
+ throw new n8n_workflow_1.NodeApiError(this.getNode(), errorObject);
297
+ }
298
+ }