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
JavaScript
"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);
}
}