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
JavaScript
;
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;