UNPKG

n8n-nodes-fatture-in-cloud

Version:

n8n community node for Fatture in Cloud integration using the official TypeScript SDK

67 lines 3.24 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.EInvoicesModule = void 0; const n8n_workflow_1 = require("n8n-workflow"); const fattureincloud_ts_sdk_1 = require("@fattureincloud/fattureincloud-ts-sdk"); const EInvoicesResource_1 = require("../resources/EInvoicesResource"); class EInvoicesModule { constructor() { this.resource = EInvoicesResource_1.EInvoicesResource; } async execute(context, operation, itemIndex) { var _a; const credentials = await context.getCredentials('fattureInCloudOAuth2Api'); let accessToken; if ((_a = credentials.oauthTokenData) === null || _a === void 0 ? void 0 : _a.access_token) { accessToken = credentials.oauthTokenData.access_token; } else if (credentials.access_token) { accessToken = credentials.access_token; } else if (credentials.accessToken) { accessToken = credentials.accessToken; } else { throw new n8n_workflow_1.NodeOperationError(context.getNode(), 'Access token not found in credentials. Please re-authenticate your Fatture in Cloud connection.', { itemIndex }); } const config = new fattureincloud_ts_sdk_1.Configuration({ accessToken, }); const eInvoicesApi = new fattureincloud_ts_sdk_1.IssuedEInvoicesApi(config); const companyId = context.getNodeParameter('companyId', itemIndex); const documentId = context.getNodeParameter('documentId', itemIndex); let responseData; switch (operation) { case 'send': const withholdingTaxCausal = context.getNodeParameter('withholdingTaxCausal', itemIndex, ''); const sendData = {}; if (withholdingTaxCausal.trim()) { sendData.withholding_tax_causal = withholdingTaxCausal.trim(); } const sendRequest = { data: sendData, }; const sendResponse = await eInvoicesApi.sendEInvoice(companyId, documentId, sendRequest); responseData = sendResponse.data; break; case 'verifyXml': const verifyResponse = await eInvoicesApi.verifyEInvoiceXml(companyId, documentId); responseData = verifyResponse.data; break; case 'getXml': const includeAttachment = context.getNodeParameter('includeAttachment', itemIndex, false); const xmlResponse = await eInvoicesApi.getEInvoiceXml(companyId, documentId, includeAttachment); responseData = xmlResponse.data; break; case 'getRejectionReason': const rejectionResponse = await eInvoicesApi.getEInvoiceRejectionReason(companyId, documentId); responseData = rejectionResponse.data; break; default: throw new n8n_workflow_1.NodeOperationError(context.getNode(), `Unknown operation: ${operation}`, { itemIndex }); } return responseData; } } exports.EInvoicesModule = EInvoicesModule; //# sourceMappingURL=EInvoicesModule.js.map