UNPKG

n8n-nodes-ninja-one

Version:
177 lines 8.69 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.NinjaOne = void 0; const n8n_workflow_1 = require("n8n-workflow"); const n8n_openapi_node_1 = require("@devlikeapro/n8n-openapi-node"); const doc = __importStar(require("../../openapi.json")); const config = {}; const parser = new n8n_openapi_node_1.N8NPropertiesBuilder(doc, config); const properties = parser.build(); class NinjaOne { constructor() { this.description = { displayName: 'NinjaOne', name: 'ninjaOne', icon: 'file:ninja-one.svg', group: ['transform'], version: 1, subtitle: '={{$parameter["operation"] + ": " + $parameter["resource"]}}', description: 'Consume NinjaOne API', defaults: { name: 'NinjaOne', }, inputs: ["main"], outputs: ["main"], credentials: [ { name: 'ninjaOneOAuth2Api', required: true, }, ], properties: properties }; } async execute() { const items = this.getInputData(); const returnData = []; const length = items.length; for (let i = 0; i < length; i++) { try { const resource = this.getNodeParameter('resource', i); const operation = this.getNodeParameter('operation', i); const options = { headers: {}, method: 'GET', body: {}, uri: '', json: true, }; if (resource === 'policy') { if (operation === 'getCustomFieldsConditions') { const policyId = this.getNodeParameter('policyId', i); options.method = 'GET'; options.uri = `/v2/policies/${policyId}/condition/custom-fields`; } else if (operation === 'createCustomFieldsCondition') { const policyId = this.getNodeParameter('policyId', i); options.method = 'POST'; options.uri = `/v2/policies/${policyId}/condition/custom-fields`; options.body = this.getNodeParameter('condition', i); } else if (operation === 'getWindowsEventConditions') { const policyId = this.getNodeParameter('policyId', i); options.method = 'GET'; options.uri = `/v2/policies/${policyId}/condition/windows-event`; } else if (operation === 'createWindowsEventCondition') { const policyId = this.getNodeParameter('policyId', i); options.method = 'POST'; options.uri = `/v2/policies/${policyId}/condition/windows-event`; options.body = this.getNodeParameter('condition', i); } else if (operation === 'deleteCondition') { const policyId = this.getNodeParameter('policyId', i); const conditionId = this.getNodeParameter('conditionId', i); options.method = 'DELETE'; options.uri = `/v2/policies/${policyId}/condition/${conditionId}`; } else if (operation === 'updateOrganizationPolicies') { const organizationId = this.getNodeParameter('organizationId', i); options.method = 'PUT'; options.uri = `/v2/organization/${organizationId}/policies`; options.body = this.getNodeParameter('policies', i); } } else if (resource === 'knowledgeBase') { if (operation === 'createArticles') { options.method = 'POST'; options.uri = '/v2/knowledgebase/articles'; options.body = this.getNodeParameter('articles', i); } else if (operation === 'updateArticles') { options.method = 'PATCH'; options.uri = '/v2/knowledgebase/articles'; options.body = this.getNodeParameter('articles', i); } else if (operation === 'deleteArticles') { options.method = 'POST'; options.uri = '/v2/knowledgebase/articles/delete'; options.body = this.getNodeParameter('articleIds', i); } else if (operation === 'downloadArticle') { const articleId = this.getNodeParameter('articleId', i); options.method = 'GET'; options.uri = `/v2/knowledgebase/article/${articleId}/download`; } else if (operation === 'archiveFolders') { options.method = 'POST'; options.uri = '/v2/knowledgebase/folders/archive'; options.body = this.getNodeParameter('folderIds', i); } else if (operation === 'deleteFolders') { options.method = 'POST'; options.uri = '/v2/knowledgebase/folders/delete'; options.body = this.getNodeParameter('folderIds', i); } else if (operation === 'getFolder') { const folderId = this.getNodeParameter('folderId', i); options.method = 'GET'; options.uri = `/v2/knowledgebase/folder/${folderId}`; } else if (operation === 'uploadArticles') { options.method = 'POST'; options.uri = '/v2/knowledgebase/articles/upload'; const binaryPropertyName = this.getNodeParameter('binaryPropertyName', i); const binaryData = items[i].binary; if (binaryData === undefined) { throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'No binary data exists on item!', { itemIndex: i, }); } if (binaryData[binaryPropertyName] === undefined) { throw new n8n_workflow_1.NodeOperationError(this.getNode(), `No binary data property "${binaryPropertyName}" does not exists on item!`, { itemIndex: i }); } options.body = { file: await this.helpers.getBinaryDataBuffer(i, binaryPropertyName), }; } } const responseData = await this.helpers.requestWithAuthentication.call(this, 'ninjaOneOAuth2Api', options); returnData.push({ json: responseData }); } catch (error) { if (this.continueOnFail()) { returnData.push({ json: { error: error.message } }); continue; } throw error; } } return [returnData]; } } exports.NinjaOne = NinjaOne; //# sourceMappingURL=NinjaOne.node.js.map