UNPKG

n8n-nodes-arubaclearpass

Version:

n8n community node for Aruba ClearPass API integration with comprehensive identity, policy, and enforcement profile management

299 lines (298 loc) 9.96 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.listRoles = listRoles; exports.getRole = getRole; exports.getRoleByName = getRoleByName; exports.createRole = createRole; exports.updateRole = updateRole; exports.updateRoleByName = updateRoleByName; exports.replaceRole = replaceRole; exports.replaceRoleByName = replaceRoleByName; exports.deleteRole = deleteRole; exports.deleteRoleByName = deleteRoleByName; // methods/PolicyElements/Role.methods.ts const n8n_workflow_1 = require("n8n-workflow"); const apiRequest_1 = require("../../helpers/apiRequest"); const responseFormatter_1 = require("../../helpers/responseFormatter"); /** * List all roles */ async function listRoles() { try { const returnAll = this.getNodeParameter('returnAll', 0); const filters = this.getNodeParameter('filters', 0, {}); const endpoint = '/role'; let responseData; if (returnAll) { responseData = await apiRequest_1.apiRequestAllItems.call(this, 'GET', endpoint, {}, filters); } else { const limit = this.getNodeParameter('limit', 0); if (!filters.limit) { filters.limit = limit; } responseData = await apiRequest_1.apiRequest.call(this, 'GET', endpoint, {}, filters); } return responseFormatter_1.formatResponse.call(this, responseData); } catch (error) { const errorObject = {}; if (error instanceof Error) { errorObject.message = error.message; if (error.stack) { errorObject.stackTrace = error.stack; } } else { errorObject.message = 'Unknown error in listRoles'; } throw new n8n_workflow_1.NodeApiError(this.getNode(), errorObject); } } /** * Get a role by ID */ async function getRole() { try { const roleId = this.getNodeParameter('roleId', 0); const endpoint = `/role/${roleId}`; const responseData = await apiRequest_1.apiRequest.call(this, 'GET', endpoint); return responseFormatter_1.formatResponse.call(this, responseData); } catch (error) { const errorObject = {}; if (error instanceof Error) { errorObject.message = error.message; if (error.stack) { errorObject.stackTrace = error.stack; } } else { errorObject.message = 'Unknown error in getRole'; } throw new n8n_workflow_1.NodeApiError(this.getNode(), errorObject); } } /** * Get a role by name */ async function getRoleByName() { try { const name = this.getNodeParameter('name', 0); const endpoint = `/role/name/${name}`; const responseData = await apiRequest_1.apiRequest.call(this, 'GET', endpoint); return responseFormatter_1.formatResponse.call(this, responseData); } catch (error) { const errorObject = {}; if (error instanceof Error) { errorObject.message = error.message; if (error.stack) { errorObject.stackTrace = error.stack; } } else { errorObject.message = 'Unknown error in getRoleByName'; } throw new n8n_workflow_1.NodeApiError(this.getNode(), errorObject); } } /** * Create a new role */ async function createRole() { try { const body = {}; // Add required fields body.name = this.getNodeParameter('name', 0); // Add optional fields const description = this.getNodeParameter('description', 0, ''); if (description) { body.description = description; } const endpoint = '/role'; const responseData = await apiRequest_1.apiRequest.call(this, 'POST', endpoint, body); return responseFormatter_1.formatResponse.call(this, responseData); } catch (error) { const errorObject = {}; if (error instanceof Error) { errorObject.message = error.message; if (error.stack) { errorObject.stackTrace = error.stack; } } else { errorObject.message = 'Unknown error in createRole'; } throw new n8n_workflow_1.NodeApiError(this.getNode(), errorObject); } } /** * Update a role by ID */ async function updateRole() { try { const roleId = this.getNodeParameter('roleId', 0); const updateFields = this.getNodeParameter('updateFields', 0, {}); if (!Object.keys(updateFields).length) { throw new Error('Please specify at least one field to update'); } const endpoint = `/role/${roleId}`; const responseData = await apiRequest_1.apiRequest.call(this, 'PATCH', endpoint, updateFields); return responseFormatter_1.formatResponse.call(this, responseData); } catch (error) { const errorObject = {}; if (error instanceof Error) { errorObject.message = error.message; if (error.stack) { errorObject.stackTrace = error.stack; } } else { errorObject.message = 'Unknown error in updateRole'; } throw new n8n_workflow_1.NodeApiError(this.getNode(), errorObject); } } /** * Update a role by name */ async function updateRoleByName() { try { const name = this.getNodeParameter('name', 0); const updateFields = this.getNodeParameter('updateFields', 0, {}); if (!Object.keys(updateFields).length) { throw new Error('Please specify at least one field to update'); } const endpoint = `/role/name/${name}`; const responseData = await apiRequest_1.apiRequest.call(this, 'PATCH', endpoint, updateFields); return responseFormatter_1.formatResponse.call(this, responseData); } catch (error) { const errorObject = {}; if (error instanceof Error) { errorObject.message = error.message; if (error.stack) { errorObject.stackTrace = error.stack; } } else { errorObject.message = 'Unknown error in updateRoleByName'; } throw new n8n_workflow_1.NodeApiError(this.getNode(), errorObject); } } /** * Replace a role by ID */ async function replaceRole() { try { const roleId = this.getNodeParameter('roleId', 0); const body = {}; // Add required fields body.name = this.getNodeParameter('name', 0); // Add optional fields const description = this.getNodeParameter('description', 0, ''); if (description) { body.description = description; } const endpoint = `/role/${roleId}`; const responseData = await apiRequest_1.apiRequest.call(this, 'PUT', endpoint, body); return responseFormatter_1.formatResponse.call(this, responseData); } catch (error) { const errorObject = {}; if (error instanceof Error) { errorObject.message = error.message; if (error.stack) { errorObject.stackTrace = error.stack; } } else { errorObject.message = 'Unknown error in replaceRole'; } throw new n8n_workflow_1.NodeApiError(this.getNode(), errorObject); } } /** * Replace a role by name */ async function replaceRoleByName() { try { const name = this.getNodeParameter('name', 0); const body = {}; // Add required fields body.name = this.getNodeParameter('name', 0); // Add optional fields const description = this.getNodeParameter('description', 0, ''); if (description) { body.description = description; } const endpoint = `/role/name/${name}`; const responseData = await apiRequest_1.apiRequest.call(this, 'PUT', endpoint, body); return responseFormatter_1.formatResponse.call(this, responseData); } catch (error) { const errorObject = {}; if (error instanceof Error) { errorObject.message = error.message; if (error.stack) { errorObject.stackTrace = error.stack; } } else { errorObject.message = 'Unknown error in replaceRoleByName'; } throw new n8n_workflow_1.NodeApiError(this.getNode(), errorObject); } } /** * Delete a role by ID */ async function deleteRole() { try { const roleId = this.getNodeParameter('roleId', 0); const endpoint = `/role/${roleId}`; await apiRequest_1.apiRequest.call(this, 'DELETE', endpoint); return [{ json: { success: true } }]; } catch (error) { const errorObject = {}; if (error instanceof Error) { errorObject.message = error.message; if (error.stack) { errorObject.stackTrace = error.stack; } } else { errorObject.message = 'Unknown error in deleteRole'; } throw new n8n_workflow_1.NodeApiError(this.getNode(), errorObject); } } /** * Delete a role by name */ async function deleteRoleByName() { try { const name = this.getNodeParameter('name', 0); const endpoint = `/role/name/${name}`; await apiRequest_1.apiRequest.call(this, 'DELETE', endpoint); return [{ json: { success: true } }]; } catch (error) { const errorObject = {}; if (error instanceof Error) { errorObject.message = error.message; if (error.stack) { errorObject.stackTrace = error.stack; } } else { errorObject.message = 'Unknown error in deleteRoleByName'; } throw new n8n_workflow_1.NodeApiError(this.getNode(), errorObject); } }