UNPKG

n8n-nodes-base

Version:

Base nodes of n8n

170 lines 6.81 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Onfleet = void 0; const n8n_workflow_1 = require("n8n-workflow"); const AdministratorDescription_1 = require("./descriptions/AdministratorDescription"); const ContainerDescription_1 = require("./descriptions/ContainerDescription"); const DestinationDescription_1 = require("./descriptions/DestinationDescription"); const HubDescription_1 = require("./descriptions/HubDescription"); const OrganizationDescription_1 = require("./descriptions/OrganizationDescription"); const RecipientDescription_1 = require("./descriptions/RecipientDescription"); const TaskDescription_1 = require("./descriptions/TaskDescription"); const TeamDescription_1 = require("./descriptions/TeamDescription"); const WorkerDescription_1 = require("./descriptions/WorkerDescription"); const GenericFunctions_1 = require("./GenericFunctions"); const Onfleet_1 = require("./Onfleet"); class Onfleet { description = { displayName: 'Onfleet', name: 'onfleet', icon: 'file:Onfleet.svg', group: ['input'], version: 1, subtitle: '={{$parameter["operation"] + ": " + $parameter["resource"]}}', description: 'Consume Onfleet API', defaults: { name: 'Onfleet', }, usableAsTool: true, inputs: [n8n_workflow_1.NodeConnectionTypes.Main], outputs: [n8n_workflow_1.NodeConnectionTypes.Main], credentials: [ { name: 'onfleetApi', required: true, testedBy: 'onfleetApiTest', }, ], properties: [ // List of option resources { displayName: 'Resource', name: 'resource', type: 'options', noDataExpression: true, options: [ { name: 'Admin', value: 'admin', }, { name: 'Container', value: 'container', }, { name: 'Destination', value: 'destination', }, { name: 'Hub', value: 'hub', }, { name: 'Organization', value: 'organization', }, { name: 'Recipient', value: 'recipient', }, { name: 'Task', value: 'task', }, { name: 'Team', value: 'team', }, // { // name: 'Webhook', // value: 'webhook', // }, { name: 'Worker', value: 'worker', }, ], default: 'task', description: 'The resource to perform operations on', }, // Operations & fields ...AdministratorDescription_1.adminOperations, ...AdministratorDescription_1.adminFields, ...ContainerDescription_1.containerOperations, ...ContainerDescription_1.containerFields, ...DestinationDescription_1.destinationOperations, ...DestinationDescription_1.destinationFields, ...HubDescription_1.hubOperations, ...HubDescription_1.hubFields, ...OrganizationDescription_1.organizationOperations, ...OrganizationDescription_1.organizationFields, ...RecipientDescription_1.recipientOperations, ...RecipientDescription_1.recipientFields, ...TaskDescription_1.taskOperations, ...TaskDescription_1.taskFields, ...TeamDescription_1.teamOperations, ...TeamDescription_1.teamFields, // ...webhookOperations, // ...webhookFields, ...WorkerDescription_1.workerOperations, ...WorkerDescription_1.workerFields, ], }; methods = { credentialTest: { async onfleetApiTest(credential) { const credentials = credential.data; const options = { headers: { 'Content-Type': 'application/json', 'User-Agent': 'n8n-onfleet', }, auth: { user: credentials.apiKey, pass: '', }, method: 'GET', uri: 'https://onfleet.com/api/v2/auth/test', json: true, }; try { await this.helpers.request(options); return { status: 'OK', message: 'Authentication successful', }; } catch (error) { return { status: 'Error', message: `Auth settings are not valid: ${error}`, }; } }, }, loadOptions: GenericFunctions_1.resourceLoaders, }; async execute() { const resource = this.getNodeParameter('resource', 0); const operation = this.getNodeParameter('operation', 0); const items = this.getInputData(); // eslint-disable-next-line @typescript-eslint/no-restricted-types const operations = { task: Onfleet_1.Onfleet.executeTaskOperations, destination: Onfleet_1.Onfleet.executeDestinationOperations, organization: Onfleet_1.Onfleet.executeOrganizationOperations, admin: Onfleet_1.Onfleet.executeAdministratorOperations, recipient: Onfleet_1.Onfleet.executeRecipientOperations, hub: Onfleet_1.Onfleet.executeHubOperations, worker: Onfleet_1.Onfleet.executeWorkerOperations, webhook: Onfleet_1.Onfleet.executeWebhookOperations, container: Onfleet_1.Onfleet.executeContainerOperations, team: Onfleet_1.Onfleet.executeTeamOperations, }; const responseData = await operations[resource].call(this, `${resource}s`, operation, items); // Map data to n8n data return [this.helpers.returnJsonArray(responseData)]; } } exports.Onfleet = Onfleet; //# sourceMappingURL=Onfleet.node.js.map