UNPKG

n8n-nodes-base

Version:

Base nodes of n8n

92 lines 3.15 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.description = void 0; exports.execute = execute; const n8n_workflow_1 = require("n8n-workflow"); const utilities_1 = require("../../../../utils/utilities"); const descriptions_1 = require("../../descriptions"); const transport_1 = require("../../transport"); const properties = [ { // eslint-disable-next-line n8n-nodes-base/node-param-display-name-miscased displayName: 'Search in', name: 'searchIn', type: 'options', default: 'all', description: 'Whether to search for observables in all alerts and cases or in a specific case or alert', options: [ { name: 'Alerts and Cases', value: 'all', }, { name: 'Alert', value: 'alert', }, { name: 'Case', value: 'case', }, ], }, { ...descriptions_1.caseRLC, displayOptions: { show: { searchIn: ['case'], }, }, }, { ...descriptions_1.alertRLC, displayOptions: { show: { searchIn: ['alert'], }, }, }, ...descriptions_1.returnAllAndLimit, descriptions_1.genericFiltersCollection, descriptions_1.sortCollection, descriptions_1.searchOptions, ]; const displayOptions = { show: { resource: ['observable'], operation: ['search'], }, }; exports.description = (0, utilities_1.updateDisplayOptions)(displayOptions, properties); async function execute(i) { let responseData = []; const searchIn = this.getNodeParameter('searchIn', i); const filtersValues = this.getNodeParameter('filters.values', i, []); const sortFields = this.getNodeParameter('sort.fields', i, []); const returnAll = this.getNodeParameter('returnAll', i); const { returnCount, extraData } = this.getNodeParameter('options', i); let limit; let scope; if (searchIn === 'all') { scope = { query: 'listObservable' }; } else if (searchIn === 'alert') { const alertId = this.getNodeParameter('alertId', i, '', { extractValue: true }); scope = { query: 'getAlert', id: alertId, restrictTo: 'observables' }; } else if (searchIn === 'case') { const caseId = this.getNodeParameter('caseId', i, '', { extractValue: true }); scope = { query: 'getCase', id: caseId, restrictTo: 'observables' }; } else { throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Invalid 'Search In ...' value: ${searchIn}`); } if (!returnAll) { limit = this.getNodeParameter('limit', i); } responseData = await transport_1.theHiveApiQuery.call(this, scope, filtersValues, sortFields, limit, returnCount, extraData); const executionData = this.helpers.constructExecutionMetaData((0, utilities_1.wrapData)(responseData), { itemData: { item: i }, }); return executionData; } //# sourceMappingURL=search.operation.js.map