UNPKG

n8n-nodes-binalyze-air

Version:

Binalyze AIR nodes for automating DFIR with n8n workflows

217 lines 9.27 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Air = void 0; const n8n_workflow_1 = require("n8n-workflow"); const baselines_1 = require("./resources/baselines"); const cases_1 = require("./resources/cases"); const organizations_1 = require("./resources/organizations"); const repositories_1 = require("./resources/repositories"); const tasks_1 = require("./resources/tasks"); const users_1 = require("./resources/users"); const triagerules_1 = require("./resources/triagerules"); const assets_1 = require("./resources/assets"); const acquisitions_1 = require("./resources/acquisitions"); const interact_1 = require("./resources/interact"); class Air { constructor() { this.description = { displayName: 'AIR', name: 'air', icon: { light: 'file:b-logo-dark.svg', dark: 'file:b-logo-light.svg', }, group: ['input'], version: 1, subtitle: '={{$parameter["resource"] + ": " + $parameter["operation"]}}', description: 'Manage Binalyze AIR resources', defaults: { name: 'AIR', }, inputs: ["main"], outputs: ["main"], credentials: [ { name: 'airApi', required: true, }, ], properties: [ { displayName: 'Resource', name: 'resource', type: 'options', noDataExpression: true, options: [ { name: 'Acquisition', value: 'acquisitions', description: 'Manage acquisition profiles and remote acquisitions', }, { name: 'Asset', value: 'assets', description: 'Manage endpoint assets and their operations', }, { name: 'Baseline', value: 'baselines', description: 'Manage baselines and comparisons', }, { name: 'Case', value: 'cases', description: 'Manage cases and case operations', }, { name: 'InterACT', value: 'interact', description: 'Interactive shell sessions and command execution on devices', }, { name: 'Organization', value: 'organizations', description: 'Manage organizations', }, { name: 'Repository', value: 'repositories', description: 'Manage evidence repositories', }, { name: 'Task', value: 'tasks', description: 'Manage tasks and task assignments', }, { name: 'Triage Rule', value: 'triagerules', description: 'Manage triage rules', }, { name: 'User', value: 'users', description: 'Manage users', }, ], default: 'organizations', }, ...acquisitions_1.AcquisitionsOperations, ...assets_1.AssetsOperations, ...baselines_1.BaselinesOperations, ...cases_1.CasesOperations, ...interact_1.InterACTOperations, ...organizations_1.OrganizationsOperations, ...repositories_1.RepositoriesOperations, ...tasks_1.TasksOperations, ...triagerules_1.TriageRulesOperations, ...users_1.UsersOperations, ], }; this.methods = { loadOptions: { async getAcquisitionProfiles() { return acquisitions_1.getAcquisitionProfilesOptions.call(this); }, async getAssets() { return assets_1.getAssetsOptions.call(this); }, async getCases() { return cases_1.getCasesOptions.call(this); }, async getOrganizations() { return organizations_1.getOrganizationsOptions.call(this); }, async getRepositories() { return repositories_1.getRepositoriesOptions.call(this); }, async getTasks() { return tasks_1.getTasksOptions.call(this); }, async getTriageRules() { return triagerules_1.getTriageRulesOptions.call(this); }, async getUsers() { return users_1.getUsersOptions.call(this); }, }, listSearch: { async getAcquisitionProfiles(filter) { return acquisitions_1.getAcquisitionProfiles.call(this, filter); }, async getAssets(filter) { return assets_1.getAssets.call(this, filter); }, async getAssetsByOrganizationForDeviceActions(filter) { return assets_1.getAssetsByOrganizationForDeviceActions.call(this, filter); }, async getAssetsByOrganization(filter) { return baselines_1.getAssetsByOrganization.call(this, filter); }, async getTasksByAsset(filter) { return baselines_1.getTasksByAsset.call(this, filter); }, async getAssetsByOrganizationForReport(filter) { return baselines_1.getAssetsByOrganizationForReport.call(this, filter); }, async getComparisonTasksByAsset(filter) { return baselines_1.getComparisonTasksByAsset.call(this, filter); }, async getCases(filter) { return cases_1.getCases.call(this, filter); }, async getCasesByOrganization(filter) { return interact_1.getCasesByOrganization.call(this, filter); }, async getAssetsByOrganizationForInteract(filter) { return interact_1.getAssetsByOrganizationForInteract.call(this, filter); }, async getOrganizations(filter) { return organizations_1.getOrganizations.call(this, filter); }, async getRepositories(filter) { return repositories_1.getRepositories.call(this, filter); }, async getTasks(filter) { return tasks_1.getTasks.call(this, filter); }, async getTriageRules(filter) { return triagerules_1.getTriageRules.call(this, filter); }, async getUsers(filter) { return users_1.getUsers.call(this, filter); }, }, }; } async execute() { const resource = this.getNodeParameter('resource', 0); this.logger.debug(`Executing: ${this.getNode().name}/${resource} for workflow ${this.getWorkflow().name}`); switch (resource) { case 'acquisitions': return acquisitions_1.executeAcquisitions.call(this); case 'assets': return assets_1.executeAssets.call(this); case 'baselines': return baselines_1.executeBaselines.call(this); case 'cases': return cases_1.executeCases.call(this); case 'interact': return interact_1.executeInterACT.call(this); case 'organizations': return organizations_1.executeOrganizations.call(this); case 'repositories': return repositories_1.executeRepositories.call(this); case 'tasks': return tasks_1.executeTasks.call(this); case 'triagerules': return triagerules_1.executeTriageRules.call(this); case 'users': return users_1.executeUsers.call(this); default: throw new n8n_workflow_1.ApplicationError(`Unknown resource: ${resource}`); } } } exports.Air = Air; //# sourceMappingURL=Air.node.js.map