@socradar/n8n-nodes-socradar
Version:
Production-ready n8n integration for SOCRadar Extended Threat Intelligence platform
66 lines • 2.53 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.handleAuditLogsOperations = handleAuditLogsOperations;
const n8n_workflow_1 = require("n8n-workflow");
const axios_1 = __importDefault(require("axios"));
async function handleAuditLogsOperations(baseUrl, headers, i) {
var _a;
const operation = this.getNodeParameter('operation', i);
const companyId = this.getNodeParameter('companyId', i);
try {
if (operation === 'getAll') {
return await handleGetAllAuditLogs.call(this, baseUrl, headers, companyId, i);
}
throw new n8n_workflow_1.NodeOperationError(this.getNode(), `The operation "${operation}" is not supported for resource "auditLogs"!`);
}
catch (error) {
if (this.continueOnFail()) {
return {
json: {
error: error.message,
details: ((_a = error.response) === null || _a === void 0 ? void 0 : _a.data) || 'No additional error details',
},
pairedItem: { item: i },
};
}
throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Audit Logs Error: ${error.message}`, { itemIndex: i });
}
}
async function handleGetAllAuditLogs(baseUrl, headers, companyId, i) {
const additionalFields = this.getNodeParameter('additionalFields', i, {});
const endpoint = `${baseUrl}/company/${companyId}/auditlogs`;
const queryParams = {};
if (additionalFields.startDate) {
queryParams.start_date = additionalFields.startDate.split('T')[0];
}
if (additionalFields.endDate) {
queryParams.end_date = additionalFields.endDate.split('T')[0];
}
if (additionalFields.page) {
queryParams.page = additionalFields.page;
}
if (additionalFields.limit) {
queryParams.limit = additionalFields.limit;
}
if (additionalFields.userId) {
queryParams.userId = additionalFields.userId;
}
if (additionalFields.actionType) {
queryParams.actionType = additionalFields.actionType;
}
const options = {
method: 'GET',
url: endpoint,
headers,
params: queryParams,
};
const response = await (0, axios_1.default)(options);
return {
json: response.data,
pairedItem: { item: i },
};
}
//# sourceMappingURL=auditLogs.js.map