UNPKG

n8n-nodes-binalyze-air

Version:

Binalyze AIR nodes for automating DFIR with n8n workflows

315 lines (314 loc) 9.5 kB
import { IExecuteFunctions, ILoadOptionsFunctions } from 'n8n-workflow'; import { AirCredentials } from '../../../../credentials/AirApi.credentials'; export interface Case { _id: string; name: string; notes: any[]; createdAt: string; updatedAt: string; ownerUserId: string; organizationId: number; status: 'open' | 'closed' | 'archived'; startedOn: string; visibility: string; source: string; totalDays: number; totalEndpoints: number; assignedUserIds: string[]; closedOn?: string; } export interface CasesResponse { success: boolean; result: { entities: Case[]; filters: Array<{ name: string; type: string; options: string[]; filterUrl: string | null; }>; sortables: string[]; totalEntityCount: number; currentPage: number; pageSize: number; previousPage: number; totalPageCount: number; nextPage: number; }; statusCode: number; errors: string[]; } export interface CaseActivity { _id: number; createdAt: string; updatedAt: string; type: string; performedBy: string; data: any; organizationIds: number[]; description: string; } export interface CaseActivitiesResponse { success: boolean; result: { entities: CaseActivity[]; filters: Array<{ name: string; type: string; options: string[]; filterUrl: string | null; }>; sortables: string[]; totalEntityCount: number; currentPage: number; pageSize: number; previousPage: number; totalPageCount: number; nextPage: number; }; statusCode: number; errors: string[]; } export interface CaseEndpoint { platform: string; tags: string[]; isolationStatus: string; _id: string; createdAt: string; updatedAt: string; organizationId: number; ipAddress: string; name: string; groupId: string; groupFullPath: string; os: string; isServer: boolean; isManaged: boolean; lastSeen: string; version: string; versionNo: number; registeredAt: string; securityToken: string; onlineStatus: string; issues: string[]; label: string | null; waitingForVersionUpdateFix: boolean; } export interface CaseEndpointsResponse { success: boolean; result: { entities: CaseEndpoint[]; filters: Array<{ name: string; type: string; options: any[]; filterUrl: string | null; }>; sortables: string[]; totalEntityCount: number; currentPage: number; pageSize: number; previousPage: number; totalPageCount: number; nextPage: number; }; statusCode: number; errors: string[]; } export interface CaseTask { _id: string; taskId: string; name: string; type: string; endpointId: string; endpointName: string; organizationId: number; status: string; recurrence: string | null; progress: number; duration: number | null; caseIds: string[]; isComparable: boolean; createdAt: string; updatedAt: string; response: any | null; } export interface CaseTasksResponse { success: boolean; result: { entities: CaseTask[]; filters: Array<{ name: string; type: string; options: string[]; filterUrl: string | null; }>; sortables: string[]; totalEntityCount: number; currentPage: number; pageSize: number; previousPage: number; totalPageCount: number; nextPage: number; }; statusCode: number; errors: string[]; } export interface UserProfile { name: string; surname: string; department: string; } export interface Role { _id: string; name: string; createdBy: string; tag: string; privilegeTypes: string[]; createdAt: string; updatedAt: string; } export interface User { _id: string; email: string; username: string; organizationIds: number[] | string; strategy: string; profile: UserProfile; tfaEnabled: boolean; createdAt: string; updatedAt: string; roles: Role[]; } export interface CaseUsersResponse { success: boolean; result: { entities: User[]; filters: Array<{ name: string; type: string; options: string[]; filterUrl: string | null; }>; sortables: string[]; totalEntityCount: number; currentPage: number; pageSize: number; previousPage: number; totalPageCount: number; nextPage: number; }; statusCode: number; errors: string[]; } export declare const api: { getCases(context: IExecuteFunctions | ILoadOptionsFunctions, credentials: AirCredentials, organizationIds?: string | string[], additionalParams?: { pageNumber?: number; pageSize?: number; status?: string; ownerUserId?: string; sortBy?: string; sortType?: string; searchTerm?: string; }): Promise<CasesResponse>; createCase(context: IExecuteFunctions | ILoadOptionsFunctions, credentials: AirCredentials, caseData: { organizationId: number; name: string; ownerUserId: string; visibility: string; assignedUserIds: string[]; }): Promise<{ success: boolean; result: Case; statusCode: number; errors: string[]; }>; updateCase(context: IExecuteFunctions | ILoadOptionsFunctions, credentials: AirCredentials, id: string, updateData: Partial<{ name: string; ownerUserId: string; visibility: string; status: "open" | "closed" | "archived"; notes: any[]; assignedUserIds: string[]; }>): Promise<{ success: boolean; result: Case; statusCode: number; errors: string[]; }>; getCase(context: IExecuteFunctions | ILoadOptionsFunctions, credentials: AirCredentials, id: string): Promise<{ success: boolean; result: Case; statusCode: number; errors: string[]; }>; closeCase(context: IExecuteFunctions | ILoadOptionsFunctions, credentials: AirCredentials, id: string): Promise<{ success: boolean; result: Case; statusCode: number; errors: string[]; }>; openCase(context: IExecuteFunctions | ILoadOptionsFunctions, credentials: AirCredentials, id: string): Promise<{ success: boolean; result: Case; statusCode: number; errors: string[]; }>; archiveCase(context: IExecuteFunctions | ILoadOptionsFunctions, credentials: AirCredentials, id: string): Promise<{ success: boolean; result: Case; statusCode: number; errors: string[]; }>; changeOwner(context: IExecuteFunctions | ILoadOptionsFunctions, credentials: AirCredentials, id: string, newOwnerId: string): Promise<{ success: boolean; result: Case; statusCode: number; errors: string[]; }>; checkCaseName(context: IExecuteFunctions | ILoadOptionsFunctions, credentials: AirCredentials, name: string): Promise<{ success: boolean; result: boolean; statusCode: number; errors: string[]; }>; getCaseActivities(context: IExecuteFunctions | ILoadOptionsFunctions, credentials: AirCredentials, id: string): Promise<CaseActivitiesResponse>; getCaseEndpoints(context: IExecuteFunctions | ILoadOptionsFunctions, credentials: AirCredentials, id: string, organizationIds?: string | number): Promise<CaseEndpointsResponse>; getCaseTasksById(context: IExecuteFunctions | ILoadOptionsFunctions, credentials: AirCredentials, id: string, organizationIds?: string | number): Promise<CaseTasksResponse>; getCaseUsers(context: IExecuteFunctions | ILoadOptionsFunctions, credentials: AirCredentials, caseId: string, organizationIds?: string): Promise<CaseUsersResponse>; removeEndpointsFromCase(context: IExecuteFunctions | ILoadOptionsFunctions, credentials: AirCredentials, id: string, filter: { searchTerm?: string; name?: string; ipAddress?: string; groupId?: string; groupFullPath?: string; managedStatus?: string[]; isolationStatus?: string[]; platform?: string[]; issue?: string; onlineStatus?: string[]; tags?: string[]; version?: string; policy?: string; includedEndpointIds?: string[]; excludedEndpointIds?: string[]; organizationIds?: number[]; }): Promise<{ success: boolean; result: null; statusCode: number; errors: string[]; }>; removeTaskAssignmentFromCase(context: IExecuteFunctions | ILoadOptionsFunctions, credentials: AirCredentials, caseId: string, taskAssignmentId: string): Promise<{ success: boolean; result: null; statusCode: number; errors: string[]; }>; importTaskAssignmentsToCase(context: IExecuteFunctions | ILoadOptionsFunctions, credentials: AirCredentials, caseId: string, taskAssignmentIds: string[]): Promise<{ success: boolean; result: null; statusCode: number; errors: string[]; }>; };