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

98 lines (97 loc) 3.76 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.VoucherHandler = void 0; const BaseResourceHandler_1 = require("../base/BaseResourceHandler"); class VoucherHandler extends BaseResourceHandler_1.CrudResourceHandler { constructor(executeFunctions) { super(executeFunctions, "Voucher", "Voucher"); this.config.idParameterName = "voucherId"; } buildCustomRequest(baseOptions, baseURL, operation, itemIndex) { switch (operation) { case "uploadFile": const voucherId = this.executeFunctions.getNodeParameter("voucherId", itemIndex); const filename = this.executeFunctions.getNodeParameter("filename", itemIndex); return { ...baseOptions, method: "POST", url: `${baseURL}/Voucher/${voucherId}/uploadFile`, body: { filename }, }; case "bookVoucher": const voucherIdBook = this.executeFunctions.getNodeParameter("voucherId", itemIndex); const amount = this.executeFunctions.getNodeParameter("amount", itemIndex); const date = this.executeFunctions.getNodeParameter("date", itemIndex); return { ...baseOptions, method: "PUT", url: `${baseURL}/Voucher/${voucherIdBook}/bookVoucher`, body: { amount, date }, }; case "getPositions": const voucherIdPos = this.executeFunctions.getNodeParameter("voucherId", itemIndex); return { ...baseOptions, method: "GET", url: `${baseURL}/VoucherPos`, qs: { "voucher[id]": voucherIdPos, "voucher[objectName]": "Voucher" }, }; case "getAccountingTypes": return { ...baseOptions, method: "GET", url: `${baseURL}/AccountingType`, }; default: return super.buildCustomRequest(baseOptions, baseURL, operation, itemIndex); } } transformCreateData(data) { if (!data) return {}; const transformedData = { ...data }; if (data.voucherDate) { try { const date = new Date(data.voucherDate); if (!isNaN(date.getTime())) { transformedData.voucherDate = date.toISOString().split("T")[0]; } else { delete transformedData.voucherDate; } } catch (error) { delete transformedData.voucherDate; } } if (data.deliveryDate) { try { const date = new Date(data.deliveryDate); if (!isNaN(date.getTime())) { transformedData.deliveryDate = date.toISOString().split("T")[0]; } else { delete transformedData.deliveryDate; } } catch (error) { delete transformedData.deliveryDate; } } return transformedData; } 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.VoucherHandler = VoucherHandler;