n8n-nodes-binalyze-air
Version:
Binalyze AIR nodes for automating DFIR with n8n workflows
129 lines (128 loc) • 4.14 kB
TypeScript
import { IExecuteFunctions, ILoadOptionsFunctions } from 'n8n-workflow';
import { AirCredentials } from '../../../../credentials/AirApi.credentials';
export interface Policy {
_id: string;
name: string;
description: string;
priority: number;
enabled: boolean;
organizationIds: string[];
createdAt: string;
createdBy: string;
updatedAt: string;
updatedBy: string;
deletable: boolean;
}
export interface PoliciesResponse {
success: boolean;
result: {
entities: Policy[];
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 CreatePolicyRequest {
name: string;
description: string;
priority: number;
enabled: boolean;
organizationIds: number[];
rules?: any[];
}
export interface CreatePolicyResponse {
success: boolean;
result: Policy;
statusCode: number;
errors: string[];
}
export interface UpdatePolicyRequest {
name: string;
description: string;
priority: number;
enabled: boolean;
organizationIds: number[];
rules?: any[];
}
export interface UpdatePolicyResponse {
success: boolean;
result: Policy;
statusCode: number;
errors: string[];
}
export interface DeletePolicyResponse {
success: boolean;
result: null;
statusCode: number;
errors: string[];
}
export interface GetPolicyResponse {
success: boolean;
result: Policy;
statusCode: number;
errors: string[];
}
export interface UpdatePoliciesPrioritiesRequest {
policies: Array<{
_id: string;
priority: number;
}>;
}
export interface UpdatePoliciesPrioritiesResponse {
success: boolean;
result: Policy[];
statusCode: number;
errors: string[];
}
export interface GetPolicyMatchStatsRequest {
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?: (string | number)[];
};
}
export interface GetPolicyMatchStatsResponse {
success: boolean;
result: Array<{
policyId: string;
policyName: string;
matchCount: number;
organizationId: number;
}>;
statusCode: number;
errors: string[];
}
export declare const api: {
getPolicies(context: IExecuteFunctions | ILoadOptionsFunctions, credentials: AirCredentials, organizationIds?: string | string[], queryParams?: Record<string, string | number>): Promise<PoliciesResponse>;
createPolicy(context: IExecuteFunctions | ILoadOptionsFunctions, credentials: AirCredentials, data: CreatePolicyRequest): Promise<CreatePolicyResponse>;
updatePolicy(context: IExecuteFunctions | ILoadOptionsFunctions, credentials: AirCredentials, id: string, data: UpdatePolicyRequest): Promise<UpdatePolicyResponse>;
deletePolicy(context: IExecuteFunctions | ILoadOptionsFunctions, credentials: AirCredentials, id: string): Promise<DeletePolicyResponse>;
getPolicyById(context: IExecuteFunctions | ILoadOptionsFunctions, credentials: AirCredentials, id: string): Promise<GetPolicyResponse>;
updatePoliciesPriorities(context: IExecuteFunctions | ILoadOptionsFunctions, credentials: AirCredentials, data: UpdatePoliciesPrioritiesRequest): Promise<UpdatePoliciesPrioritiesResponse>;
getPolicyMatchStats(context: IExecuteFunctions | ILoadOptionsFunctions, credentials: AirCredentials, data: GetPolicyMatchStatsRequest): Promise<GetPolicyMatchStatsResponse>;
};