Files
n8n-enterprise-unlocked/packages/nodes-base/nodes/TheHive/interfaces/CaseInterface.ts

61 lines
1.4 KiB
TypeScript

import type { IDataObject } from 'n8n-workflow';
import type { TLP } from './AlertInterface';
export interface ICase {
// Required attributes
id?: string;
title?: string;
description?: string;
severity?: number;
startDate?: Date;
owner?: string;
flag?: boolean;
tlp?: TLP;
tags?: string[];
// Optional attributes
resolutionStatus?: CaseResolutionStatus;
impactStatus?: CaseImpactStatus;
summary?: string;
endDate?: Date;
metrics?: IDataObject;
// Backend generated attributes
status?: CaseStatus;
caseId?: number; // auto-generated attribute
mergeInto?: string;
mergeFrom?: string[];
createdBy?: string;
createdAt?: Date;
updatedBy?: string;
upadtedAt?: Date;
}
export const CaseStatuses = {
OPEN: 'Open',
RESOLVED: 'Resolved',
DELETED: 'Deleted',
} as const;
export type CaseStatus = (typeof CaseStatuses)[keyof typeof CaseStatuses];
export const CaseResolutionStatuses = {
INDETERMINATE: 'Indeterminate',
FALSEPOSITIVE: 'FalsePositive',
TRUEPOSITIVE: 'TruePositive',
OTHER: 'Other',
DUPLICATED: 'Duplicated',
} as const;
export type CaseResolutionStatus =
(typeof CaseResolutionStatuses)[keyof typeof CaseResolutionStatuses];
export const CaseImpactStatuses = {
NOIMPACT: 'NoImpact',
WITHIMPACT: 'WithImpact',
NOTAPPLICABLE: 'NotApplicable',
} as const;
export type CaseImpactStatus = (typeof CaseImpactStatuses)[keyof typeof CaseImpactStatuses];