UNPKG

@socradar/n8n-nodes-socradar

Version:

Production-ready n8n integration for SOCRadar Extended Threat Intelligence platform

101 lines 3.97 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.handleBrandProtectionOperations = handleBrandProtectionOperations; const n8n_workflow_1 = require("n8n-workflow"); const axios_1 = __importDefault(require("axios")); async function handleBrandProtectionOperations(baseUrl, headers, i) { var _a; const operation = this.getNodeParameter('operation', i); const companyId = this.getNodeParameter('companyId', i); try { if (operation === 'getBrandProtection') { return await handleGetBrandProtection.call(this, baseUrl, headers, companyId, i); } throw new n8n_workflow_1.NodeOperationError(this.getNode(), `The operation "${operation}" is not supported for resource "brandProtection"!`); } 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(), `Brand Protection Error: ${error.message}`, { itemIndex: i }); } } async function handleGetBrandProtection(baseUrl, headers, companyId, i) { const operationType = this.getNodeParameter('operationType', i); const additionalFields = this.getNodeParameter('additionalFields', i, {}); let endpoint = `${baseUrl}/company/${companyId}/brand-protection`; switch (operationType) { case 'impersonatingAccounts': endpoint += '/impersonating-accounts/v2'; break; case 'impersonatingDomains': endpoint += '/impersonating-domains/v2'; break; case 'rogueMobileApplications': endpoint += '/rogue-mobile-applications/v2'; break; case 'badReputation': endpoint += '/bad-reputation/v2'; break; case 'socialMediaFindings': endpoint += '/social-media-findings/v2'; break; default: throw new n8n_workflow_1.NodeOperationError(this.getNode(), `The operation type "${operationType}" is not supported!`); } const queryParams = {}; if (additionalFields.searchString) { queryParams.searchString = additionalFields.searchString; } if (additionalFields.recordStatus) { queryParams.recordStatus = additionalFields.recordStatus; } if (additionalFields.recordStatusReason) { queryParams.recordStatusReason = additionalFields.recordStatusReason; } if (additionalFields.alarmStatus) { queryParams.alarmStatus = additionalFields.alarmStatus; } if (additionalFields.countryCode) { queryParams.countryCode = additionalFields.countryCode; } if (additionalFields.page) { queryParams.page = additionalFields.page; } if (additionalFields.limit) { queryParams.limit = additionalFields.limit; } if (additionalFields.includeHistorical !== undefined) { queryParams.includeHistorical = additionalFields.includeHistorical; } if (additionalFields.startDate) { queryParams.startDate = additionalFields.startDate; } if (additionalFields.endDate) { queryParams.endDate = additionalFields.endDate; } if (additionalFields.orderDir) { queryParams.orderDir = additionalFields.orderDir; } 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=brandProtection.js.map