UNPKG

n8n-nodes-sevdesk-v2

Version:

n8n community node for SevDesk API v2 integration with 24 production-ready workflow templates. Direct API access without external dependencies - simplified, secure, and optimized for German accounting automation (n8n 1.101.1 compatible).

150 lines (149 loc) 6.33 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.SevDesk = void 0; const SevDeskResourceManager_1 = require("./SevDeskResourceManager"); const ResourceRegistry_1 = require("./ResourceRegistry"); const ValidationSchemas_1 = require("./validation/ValidationSchemas"); const EnvironmentConfig_1 = require("./config/EnvironmentConfig"); const descriptions_1 = require("./descriptions"); class SevDesk { constructor() { this.description = { displayName: "sevDesk", name: "sevDesk", group: ["output"], version: 1, subtitle: '={{$parameter["operation"] + ": " + $parameter["resource"]}}', description: "Consume the sevDesk API", icon: "file:sevDesk.svg", defaults: { name: "sevDesk", }, inputs: ["main"], outputs: ["main"], credentials: [ { name: "sevDeskApi", required: true, }, ], requestDefaults: { baseURL: "https://my.sevdesk.de/api/{{$credentials.apiVersion}}", url: "", headers: { Accept: "application/json", "Content-Type": "application/json", }, }, properties: [ { displayName: "Resource", name: "resource", type: "options", noDataExpression: true, default: "", options: ResourceRegistry_1.ResourceRegistry.getResourceOptions(), }, ...descriptions_1.contactOperations, ...descriptions_1.contactFields, ...descriptions_1.contactAddressOperations, ...descriptions_1.contactAddressFields, ...descriptions_1.contactCustomFieldOperations, ...descriptions_1.contactCustomFieldFields, ...descriptions_1.contactCustomFieldSettingOperations, ...descriptions_1.contactCustomFieldSettingFields, ...descriptions_1.contactFieldOperations, ...descriptions_1.contactFieldFields, ...descriptions_1.countryOperations, ...descriptions_1.countryFields, ...descriptions_1.categoryOperations, ...descriptions_1.categoryFields, ...descriptions_1.communicationWayOperations, ...descriptions_1.communicationWayFields, ...descriptions_1.accountingContactOperations, ...descriptions_1.accountingContactFields, ...descriptions_1.unityOperations, ...descriptions_1.unityFields, ...descriptions_1.orderOperations, ...descriptions_1.orderFields, ...descriptions_1.orderPosOperations, ...descriptions_1.orderPosFields, ...descriptions_1.orderPoOperations, ...descriptions_1.partOperations, ...descriptions_1.partFields, ...descriptions_1.checkAccountOperations, ...descriptions_1.checkAccountFields, ...descriptions_1.checkAccountTransactionOperations, ...descriptions_1.checkAccountTransactionFields, ...descriptions_1.creditNoteOperations, ...descriptions_1.creditNoteFields, ...descriptions_1.creditNotePosOperations, ...descriptions_1.creditNotePosFields, ...descriptions_1.exportOperations, ...descriptions_1.exportFields, ...descriptions_1.tagOperations, ...descriptions_1.tagFields, ...descriptions_1.tagRelationOperations, ...descriptions_1.tagRelationFields, ...descriptions_1.invoiceOperations, ...descriptions_1.invoiceFields, ...descriptions_1.invoicePosOperations, ...descriptions_1.invoicePosFields, ...descriptions_1.layoutOperations, ...descriptions_1.layoutFields, ...descriptions_1.reportOperations, ...descriptions_1.reportFields, ...descriptions_1.voucherOperations, ...descriptions_1.voucherFields, ...descriptions_1.voucherPoOperations, ...descriptions_1.voucherPoFields, ...descriptions_1.voucherPosOperations, ...descriptions_1.voucherPosFields, ...descriptions_1.basicsOperations, ...descriptions_1.basicsFields, ...descriptions_1.batchOperations, ...descriptions_1.batchFields, ], }; } async execute() { (0, EnvironmentConfig_1.validateAndWarnEnvironmentConfig)(); const items = this.getInputData(); const returnData = []; const resourceManager = new SevDeskResourceManager_1.SevDeskResourceManager(this); for (let i = 0; i < items.length; i++) { try { const resource = this.getNodeParameter("resource", i); const operation = this.getNodeParameter("operation", i); const result = await resourceManager.executeResourceOperation(resource, operation, i); if (result) { returnData.push(result); } } catch (error) { if (this.continueOnFail()) { returnData.push({ json: { error: error.message, }, pairedItem: { item: i, }, }); continue; } throw error; } } return [returnData]; } } exports.SevDesk = SevDesk; (() => { try { (0, ValidationSchemas_1.initializeValidationSchemas)(); } catch (error) { console.error("Failed to initialize SevDesk validation schemas:", error); } })();