UNPKG

n8n-nodes-tenable-community

Version:

n8n node for the Tenable One platform

145 lines (144 loc) 6.24 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.PciAsv = void 0; const GenericFunctions_1 = require("./GenericFunctions"); const PciAsv_node_options_1 = require("./PciAsv.node.options"); class PciAsv { constructor() { this.description = { displayName: 'Tenable PCI ASV', name: 'pciAsv', icon: 'file:tenable.svg', group: ['transform'], version: 1, subtitle: '={{$parameter["operation"] + ": " + $parameter["resource"]}}', description: 'Interacts with the Tenable PCI ASV API', defaults: { name: 'Tenable PCI ASV', }, inputs: ["main" /* NodeConnectionType.Main */], outputs: ["main" /* NodeConnectionType.Main */], credentials: [ { name: 'tenableApi', required: true, }, ], properties: [ { displayName: 'Resource', name: 'resource', type: 'options', noDataExpression: true, options: [ { name: 'Attestations', value: 'attestations', }, { name: 'PCI Scans', value: 'pciScans', }, ], default: 'attestations', }, ...PciAsv_node_options_1.pciAsvOperations, ...PciAsv_node_options_1.pciAsvFields, ], }; } async execute() { const items = this.getInputData(); const returnData = []; const length = items.length; let responseData; for (let i = 0; i < length; i++) { const resource = this.getNodeParameter('resource', i); const operation = this.getNodeParameter('operation', i); const body = {}; const qs = {}; if (resource === 'attestations') { if (operation === 'list') { const additionalFields = this.getNodeParameter('additionalFields', i); if (additionalFields.status_type) { qs.status_type = additionalFields.status_type.split(','); } if (additionalFields.sort) { qs.sort = additionalFields.sort; } if (additionalFields.limit) { qs.limit = additionalFields.limit; } if (additionalFields.offset) { qs.offset = additionalFields.offset; } } if (operation === 'getDetails') { const attestationUuid = this.getNodeParameter('attestationUuid', i); qs.attestation_uuid = attestationUuid; } if (operation === 'listDisputes') { const attestationUuid = this.getNodeParameter('attestationUuid', i); qs.attestation_uuid = attestationUuid; const additionalFields = this.getNodeParameter('additionalFields', i); if (additionalFields.sort) { qs.sort = additionalFields.sort; } if (additionalFields.limit) { qs.limit = additionalFields.limit; } if (additionalFields.offset) { qs.offset = additionalFields.offset; } } if (operation === 'listUndisputedFailures') { const attestationUuid = this.getNodeParameter('attestationUuid', i); qs.attestation_uuid = attestationUuid; const additionalFields = this.getNodeParameter('additionalFields', i); if (additionalFields.sort) { qs.sort = additionalFields.sort; } if (additionalFields.limit) { qs.limit = additionalFields.limit; } if (additionalFields.offset) { qs.offset = additionalFields.offset; } } if (operation === 'listAssets') { const attestationUuid = this.getNodeParameter('attestationUuid', i); qs.attestation_uuid = attestationUuid; const additionalFields = this.getNodeParameter('additionalFields', i); if (additionalFields.sort) { qs.sort = additionalFields.sort; } if (additionalFields.limit) { qs.limit = additionalFields.limit; } if (additionalFields.offset) { qs.offset = additionalFields.offset; } } } if (resource === 'pciScans') { if (operation === 'list') { const additionalFields = this.getNodeParameter('additionalFields', i); if (additionalFields.sort) { qs.sort = additionalFields.sort; } if (additionalFields.limit) { qs.limit = additionalFields.limit; } if (additionalFields.offset) { qs.offset = additionalFields.offset; } } } responseData = await GenericFunctions_1.pciAsvApiRequest.call(this, resource, operation, body, qs); const executionData = this.helpers.constructExecutionMetaData(this.helpers.returnJsonArray(responseData), { itemData: { item: i } }); returnData.push(...executionData); } return [this.helpers.returnJsonArray(returnData)]; } } exports.PciAsv = PciAsv;