n8n-nodes-base
Version:
Base nodes of n8n
92 lines • 3.14 kB
JavaScript
;
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 comments 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: ['comment'],
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: 'listComment' };
}
else if (searchIn === 'alert') {
const alertId = this.getNodeParameter('alertId', i, '', { extractValue: true });
scope = { query: 'getAlert', id: alertId, restrictTo: 'comments' };
}
else if (searchIn === 'case') {
const caseId = this.getNodeParameter('caseId', i, '', { extractValue: true });
scope = { query: 'getCase', id: caseId, restrictTo: 'comments' };
}
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