UNPKG

@socradar/n8n-nodes-socradar

Version:

Production-ready n8n integration for SOCRadar Extended Threat Intelligence platform

202 lines 7.41 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.handleDarkWebMonitoringOperations = handleDarkWebMonitoringOperations; const n8n_workflow_1 = require("n8n-workflow"); const axios_1 = __importDefault(require("axios")); async function handleDarkWebMonitoringOperations(baseUrl, headers, i) { var _a; const operation = this.getNodeParameter('operation', i); const companyId = this.getNodeParameter('companyId', i); try { if (operation === 'getBotnetData') { return await handleGetBotnetData.call(this, baseUrl, headers, companyId, i); } else if (operation === 'getBlackmarket') { return await handleGetBlackmarket.call(this, baseUrl, headers, companyId, i); } else if (operation === 'getSuspiciousContent') { return await handleGetSuspiciousContent.call(this, baseUrl, headers, companyId, i); } else if (operation === 'getPiiExposure') { return await handleGetPiiExposure.call(this, baseUrl, headers, companyId, i); } else if (operation === 'getImContent') { return await handleGetImContent.call(this, baseUrl, headers, companyId, i); } throw new n8n_workflow_1.NodeOperationError(this.getNode(), `The operation "${operation}" is not supported for resource "darkWebMonitoring"!`); } 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(), `Dark Web Monitoring Error: ${error.message}`, { itemIndex: i }); } } async function handleGetBotnetData(baseUrl, headers, companyId, i) { const additionalFields = this.getNodeParameter('additionalFields', i, {}); const endpoint = `${baseUrl}/company/${companyId}/dark-web-monitoring/botnet-data/v2`; const queryParams = {}; if (additionalFields.searchString) { queryParams.searchString = additionalFields.searchString; } if (additionalFields.recordStatus) { queryParams.recordStatus = additionalFields.recordStatus; } if (additionalFields.page) { queryParams.page = additionalFields.page; } if (additionalFields.alarmid) { queryParams.alarmid = additionalFields.alarmid; } if (additionalFields.notificationid) { queryParams.notificationid = additionalFields.notificationid; } if (additionalFields.limit) { queryParams.limit = additionalFields.limit; } const options = { method: 'GET', url: endpoint, headers, params: queryParams, }; const response = await (0, axios_1.default)(options); return { json: response.data, pairedItem: { item: i }, }; } async function handleGetBlackmarket(baseUrl, headers, companyId, i) { const additionalFields = this.getNodeParameter('additionalFields', i, {}); const endpoint = `${baseUrl}/company/${companyId}/dark-web-monitoring/blackmarket/v2`; const queryParams = {}; if (additionalFields.startDate) { queryParams.startDate = additionalFields.startDate.split('T')[0]; } if (additionalFields.endDate) { queryParams.endDate = additionalFields.endDate.split('T')[0]; } if (additionalFields.page) { queryParams.page = additionalFields.page; } if (additionalFields.limit) { queryParams.limit = additionalFields.limit; } if (additionalFields.alarmId) { queryParams.alarmId = additionalFields.alarmId; } const options = { method: 'GET', url: endpoint, headers, params: queryParams, }; const response = await (0, axios_1.default)(options); return { json: response.data, pairedItem: { item: i }, }; } async function handleGetSuspiciousContent(baseUrl, headers, companyId, i) { const additionalFields = this.getNodeParameter('additionalFields', i, {}); const endpoint = `${baseUrl}/company/${companyId}/dark-web-monitoring/suspicious-content/v2`; const queryParams = {}; if (additionalFields.startDate) { queryParams.startDate = additionalFields.startDate.split('T')[0]; } if (additionalFields.endDate) { queryParams.endDate = additionalFields.endDate.split('T')[0]; } if (additionalFields.page) { queryParams.page = additionalFields.page; } if (additionalFields.limit) { queryParams.limit = additionalFields.limit; } if (additionalFields.alarmId) { queryParams.alarmId = additionalFields.alarmId; } const options = { method: 'GET', url: endpoint, headers, params: queryParams, }; const response = await (0, axios_1.default)(options); return { json: response.data, pairedItem: { item: i }, }; } async function handleGetPiiExposure(baseUrl, headers, companyId, i) { const additionalFields = this.getNodeParameter('additionalFields', i, {}); const endpoint = `${baseUrl}/company/${companyId}/dark-web-monitoring/pii-exposure/v2`; const queryParams = {}; if (additionalFields.startDate) { queryParams.startDate = additionalFields.startDate.split('T')[0]; } if (additionalFields.endDate) { queryParams.endDate = additionalFields.endDate.split('T')[0]; } if (additionalFields.page) { queryParams.page = additionalFields.page; } if (additionalFields.limit) { queryParams.limit = additionalFields.limit; } if (additionalFields.alarmId) { queryParams.alarmId = additionalFields.alarmId; } const options = { method: 'GET', url: endpoint, headers, params: queryParams, }; const response = await (0, axios_1.default)(options); return { json: response.data, pairedItem: { item: i }, }; } async function handleGetImContent(baseUrl, headers, companyId, i) { const additionalFields = this.getNodeParameter('additionalFields', i, {}); const endpoint = `${baseUrl}/company/${companyId}/dark-web-monitoring/im-content/v2`; const queryParams = {}; if (additionalFields.startDate) { queryParams.startDate = additionalFields.startDate.split('T')[0]; } if (additionalFields.endDate) { queryParams.endDate = additionalFields.endDate.split('T')[0]; } if (additionalFields.page) { queryParams.page = additionalFields.page; } if (additionalFields.limit) { queryParams.limit = additionalFields.limit; } if (additionalFields.searchString) { queryParams.searchString = additionalFields.searchString; } 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=darkWebMonitoring.js.map