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).

79 lines (78 loc) 3.22 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.InvoiceHandler = void 0; const BaseResourceHandler_1 = require("../base/BaseResourceHandler"); class InvoiceHandler extends BaseResourceHandler_1.CrudResourceHandler { constructor(executeFunctions) { super(executeFunctions, "Invoice", "Invoice"); this.config.idParameterName = "invoiceId"; } buildCustomRequest(baseOptions, baseURL, operation, itemIndex) { switch (operation) { case "sendByEmail": const invoiceId = this.executeFunctions.getNodeParameter("invoiceId", itemIndex); const sendType = this.executeFunctions.getNodeParameter("sendType", itemIndex, "VPR"); return { ...baseOptions, method: "PUT", url: `${baseURL}/Invoice/${invoiceId}/sendByEmail`, body: { sendType }, }; case "bookAmount": const invoiceIdBook = this.executeFunctions.getNodeParameter("invoiceId", itemIndex); const amount = this.executeFunctions.getNodeParameter("amount", itemIndex); const date = this.executeFunctions.getNodeParameter("date", itemIndex); return { ...baseOptions, method: "PUT", url: `${baseURL}/Invoice/${invoiceIdBook}/bookAmount`, body: { amount, date }, }; case "cancelInvoice": const invoiceIdCancel = this.executeFunctions.getNodeParameter("invoiceId", itemIndex); return { ...baseOptions, method: "PUT", url: `${baseURL}/Invoice/${invoiceIdCancel}/cancelInvoice`, }; case "getPositions": const invoiceIdPos = this.executeFunctions.getNodeParameter("invoiceId", itemIndex); return { ...baseOptions, method: "GET", url: `${baseURL}/InvoicePos`, qs: { "invoice[id]": invoiceIdPos, "invoice[objectName]": "Invoice" }, }; default: return super.buildCustomRequest(baseOptions, baseURL, operation, itemIndex); } } transformCreateData(data) { if (!data || typeof data !== "object") { return {}; } if (data.invoiceDate) { data.invoiceDate = new Date(data.invoiceDate).toISOString().split("T")[0]; } if (data.deliveryDate) { data.deliveryDate = new Date(data.deliveryDate) .toISOString() .split("T")[0]; } return data; } transformQueryParams(params) { if (params.startDate) { params.startDate = new Date(params.startDate) .toISOString() .split("T")[0]; } if (params.endDate) { params.endDate = new Date(params.endDate) .toISOString() .split("T")[0]; } return params; } } exports.InvoiceHandler = InvoiceHandler;