n8n/packages/nodes-base/nodes/TheHiveProject/descriptions/common.description.ts

543 lines
10 KiB
TypeScript

import type { INodeProperties } from 'n8n-workflow';
import { TLP } from '../helpers/interfaces';
export const returnAllAndLimit: INodeProperties[] = [
{
displayName: 'Return All',
name: 'returnAll',
type: 'boolean',
default: false,
description: 'Whether to return all results or only up to a given limit',
},
{
displayName: 'Limit',
name: 'limit',
type: 'number',
typeOptions: {
minValue: 1,
},
default: 50,
description: 'Max number of results to return',
displayOptions: {
show: {
returnAll: [false],
},
},
},
];
export const responderOptions: INodeProperties = {
displayName: 'Responder Name or ID',
name: 'responder',
type: 'options',
description:
'Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>',
required: true,
default: '',
typeOptions: {
loadOptionsDependsOn: ['id', 'id.value'],
loadOptionsMethod: 'loadResponders',
},
displayOptions: {
hide: {
id: [''],
},
},
};
export const tlpOptions: INodeProperties = {
displayName: 'Traffict Light Protocol (TLP)',
name: 'tlp',
type: 'options',
default: 2,
options: [
{
name: 'White',
value: TLP.white,
},
{
name: 'Green',
value: TLP.green,
},
{
name: 'Amber',
value: TLP.amber,
},
{
name: 'Red',
value: TLP.red,
},
],
};
export const severityOptions: INodeProperties = {
displayName: 'Severity',
name: 'severity',
type: 'options',
options: [
{
name: 'Low',
value: 1,
},
{
name: 'Medium',
value: 2,
},
{
name: 'High',
value: 3,
},
{
name: 'Critical',
value: 4,
},
],
default: 2,
description: 'Severity of the alert. Default=Medium.',
};
export const observableTypeOptions: INodeProperties = {
// eslint-disable-next-line n8n-nodes-base/node-param-display-name-wrong-for-dynamic-options
displayName: 'Data Type',
name: 'dataType',
type: 'options',
default: '',
typeOptions: {
loadOptionsMethod: 'loadObservableTypes',
},
description:
'Type of the observable. Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>.',
};
export const alertStatusOptions: INodeProperties = {
displayName: 'Status',
name: 'status',
type: 'options',
options: [
{
name: 'New',
value: 'New',
},
{
name: 'Updated',
value: 'Updated',
},
{
name: 'Ignored',
value: 'Ignored',
},
{
name: 'Imported',
value: 'Imported',
},
],
default: 'New',
description: 'Status of the alert',
};
export const caseStatusOptions: INodeProperties = {
displayName: 'Status',
name: 'status',
type: 'options',
options: [
{
name: 'Open',
value: 'Open',
},
{
name: 'Resolved',
value: 'Resolved',
},
{
name: 'Deleted',
value: 'Deleted',
},
],
default: 'Open',
};
export const observableStatusOptions: INodeProperties = {
displayName: 'Status',
name: 'status',
type: 'options',
default: 'Ok',
options: [
{
name: 'Ok',
value: 'Ok',
},
{
name: 'Deleted',
value: 'Deleted',
},
],
description: 'Status of the observable. Default=Ok.',
};
export const taskStatusOptions: INodeProperties = {
displayName: 'Status',
name: 'status',
type: 'options',
default: 'Waiting',
options: [
{
name: 'Cancel',
value: 'Cancel',
},
{
name: 'Completed',
value: 'Completed',
},
{
name: 'InProgress',
value: 'InProgress',
},
{
name: 'Waiting',
value: 'Waiting',
},
],
description: 'Status of the task. Default=Waiting.',
};
export const searchOptions: INodeProperties = {
displayName: 'Options',
name: 'options',
type: 'collection',
placeholder: 'Add option',
default: {},
options: [
{
displayName: 'Return Count',
name: 'returnCount',
type: 'boolean',
description: 'Whether to return only the count of results',
default: false,
displayOptions: {
hide: {
'/returnAll': [false],
},
},
},
{
displayName: 'Extra Data',
name: 'extraData',
type: 'multiOptions',
description: 'Additional data to include in the response',
options: [
{
name: 'isOwner',
value: 'isOwner',
},
{
// eslint-disable-next-line n8n-nodes-base/node-param-display-name-miscased
name: 'links',
value: 'links',
},
{
// eslint-disable-next-line n8n-nodes-base/node-param-display-name-miscased
name: 'permissions',
value: 'permissions',
},
{
// eslint-disable-next-line n8n-nodes-base/node-param-display-name-miscased
name: 'seen',
value: 'seen',
},
{
name: 'shareCount',
value: 'shareCount',
},
{
// eslint-disable-next-line n8n-nodes-base/node-param-display-name-miscased
name: 'shares',
value: 'shares',
},
],
default: [],
displayOptions: {
show: {
'/resource': ['observable'],
},
hide: {
returnCount: [true],
},
},
},
{
displayName: 'Extra Data',
name: 'extraData',
type: 'multiOptions',
description: 'Additional data to include in the response',
options: [
{
name: 'actionRequired',
value: 'actionRequired',
},
{
name: 'actionRequiredMap',
value: 'actionRequiredMap',
},
{
// eslint-disable-next-line n8n-nodes-base/node-param-display-name-miscased
name: 'case',
value: 'case',
},
{
name: 'caseId',
value: 'caseId',
},
{
name: 'caseTemplate',
value: 'caseTemplate',
},
{
name: 'caseTemplateId',
value: 'caseTemplateId',
},
{
name: 'shareCount',
value: 'shareCount',
},
],
default: [],
displayOptions: {
show: {
'/resource': ['task'],
},
hide: {
returnCount: [true],
},
},
},
{
displayName: 'Extra Data',
name: 'extraData',
type: 'multiOptions',
description: 'Additional data to include in the response',
options: [
{
name: 'caseNumber',
value: 'caseNumber',
},
{
name: 'importDate',
value: 'importDate',
},
{
name: 'procedureCount',
value: 'procedureCount',
},
{
// eslint-disable-next-line n8n-nodes-base/node-param-display-name-miscased
name: 'status',
value: 'status',
},
],
default: [],
displayOptions: {
show: {
'/resource': ['alert'],
},
hide: {
returnCount: [true],
},
},
},
{
displayName: 'Extra Data',
name: 'extraData',
type: 'multiOptions',
description: 'Additional data to include in the response',
options: [
{
name: 'actionRequired',
value: 'actionRequired',
},
{
name: 'alertCount',
value: 'alertCount',
},
{
// eslint-disable-next-line n8n-nodes-base/node-param-display-name-miscased
name: 'alerts',
value: 'alerts',
},
{
name: 'attachmentCount',
value: 'attachmentCount',
},
{
// eslint-disable-next-line n8n-nodes-base/node-param-display-name-miscased
name: 'contributors',
value: 'contributors',
},
{
name: 'handlingDuration',
value: 'computed.handlingDuration',
},
{
name: 'handlingDurationInDays',
value: 'computed.handlingDurationInDays',
},
{
name: 'handlingDurationInHours',
value: 'computed.handlingDurationInHours',
},
{
name: 'handlingDurationInMinutes',
value: 'computed.handlingDurationInMinutes',
},
{
name: 'handlingDurationInSeconds',
value: 'computed.handlingDurationInSeconds',
},
{
name: 'isOwner',
value: 'isOwner',
},
{
name: 'observableStats',
value: 'observableStats',
},
{
// eslint-disable-next-line n8n-nodes-base/node-param-display-name-miscased
name: 'permissions',
value: 'permissions',
},
{
name: 'procedureCount',
value: 'procedureCount',
},
{
name: 'shareCount',
value: 'shareCount',
},
{
name: 'similarAlerts',
value: 'similarAlerts',
},
{
// eslint-disable-next-line n8n-nodes-base/node-param-display-name-miscased
name: 'status',
value: 'status',
},
{
name: 'taskStats',
value: 'taskStats',
},
],
default: [],
displayOptions: {
show: {
'/resource': ['case'],
},
hide: {
returnCount: [true],
},
},
},
{
displayName: 'Extra Data',
name: 'extraData',
type: 'multiOptions',
description: 'Additional data to include in the response',
options: [
{
// eslint-disable-next-line n8n-nodes-base/node-param-display-name-miscased
name: 'links',
value: 'links',
},
],
default: [],
displayOptions: {
show: {
'/resource': ['comment'],
},
hide: {
returnCount: [true],
},
},
},
{
displayName: 'Extra Data',
name: 'extraData',
type: 'multiOptions',
description: 'Additional data to include in the response',
options: [
{
name: 'actionCount',
value: 'actionCount',
},
{
// eslint-disable-next-line n8n-nodes-base/node-param-display-name-miscased
name: 'case',
value: 'case',
},
{
// eslint-disable-next-line n8n-nodes-base/node-param-display-name-miscased
name: 'task',
value: 'task',
},
{
name: 'taskId',
value: 'taskId',
},
],
default: [],
displayOptions: {
show: {
'/resource': ['log'],
},
hide: {
returnCount: [true],
},
},
},
{
displayName: 'Extra Data',
name: 'extraData',
type: 'string',
description: 'Additional data to include in the response',
default: '',
requiresDataPath: 'multiple',
displayOptions: {
show: {
'/resource': ['query'],
},
hide: {
returnCount: [true],
},
},
},
],
};
export const attachmentsUi: INodeProperties = {
displayName: 'Attachments',
name: 'attachmentsUi',
placeholder: 'Add Attachment',
type: 'fixedCollection',
typeOptions: {
multipleValues: true,
},
options: [
{
name: 'values',
displayName: 'Values',
values: [
{
displayName: 'Attachment Field Name',
name: 'field',
type: 'string',
default: 'data',
description: 'Add the field name from the input node',
hint: 'The name of the field with the attachment in the node input',
},
],
},
],
default: {},
description: 'Array of supported attachments to add to the message',
};