UNPKG

n8n-nodes-fatture-in-cloud

Version:

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

103 lines 5.43 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.InfoModule = void 0; const n8n_workflow_1 = require("n8n-workflow"); const fattureincloud_ts_sdk_1 = require("@fattureincloud/fattureincloud-ts-sdk"); const InfoResource_1 = require("../resources/InfoResource"); class InfoModule { constructor() { this.resource = InfoResource_1.InfoResource; } 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 infoApi = new fattureincloud_ts_sdk_1.InfoApi(config); const companyId = context.getNodeParameter('companyId', itemIndex); let responseData; switch (operation) { case 'get': const infoType = context.getNodeParameter('infoType', itemIndex); const additionalFields = context.getNodeParameter('additionalFields', itemIndex, {}); switch (infoType) { case 'archive_categories': const archiveCategoriesResponse = await infoApi.listArchiveCategories(companyId); responseData = archiveCategoriesResponse.data; break; case 'cities': const postalCode = additionalFields.postalCode; const city = additionalFields.city; const citiesResponse = await infoApi.listCities(postalCode, city); responseData = citiesResponse.data; break; case 'countries': const countriesResponse = await infoApi.listCountries(); responseData = countriesResponse.data; break; case 'currencies': const currenciesResponse = await infoApi.listCurrencies(); responseData = currenciesResponse.data; break; case 'languages': const languagesResponse = await infoApi.listLanguages(); responseData = languagesResponse.data; break; case 'payment_accounts': const paymentAccountsResponse = await infoApi.listPaymentAccounts(companyId, undefined); responseData = paymentAccountsResponse.data; break; case 'payment_methods': const paymentMethodsResponse = await infoApi.listPaymentMethods(companyId); responseData = paymentMethodsResponse.data; break; case 'product_categories': const productCategoriesResponse = await infoApi.listProductCategories(companyId, additionalFields.fields, additionalFields.fieldset); responseData = productCategoriesResponse.data; break; case 'received_document_categories': const receivedDocCategoriesResponse = await infoApi.listReceivedDocumentCategories(companyId); responseData = receivedDocCategoriesResponse.data; break; case 'revenue_centers': const revenueCentersResponse = await infoApi.listRevenueCenters(companyId); responseData = revenueCentersResponse.data; break; case 'templates': const templatesResponse = await infoApi.listTemplates(); responseData = templatesResponse.data; break; case 'units_of_measure': const unitsResponse = await infoApi.listUnitsOfMeasure(); responseData = unitsResponse.data; break; case 'vat_types': const vatTypesResponse = await infoApi.listVatTypes(companyId); responseData = vatTypesResponse.data; break; default: throw new n8n_workflow_1.NodeOperationError(context.getNode(), `Unknown info type: ${infoType}`, { itemIndex }); } break; default: throw new n8n_workflow_1.NodeOperationError(context.getNode(), `Unknown operation: ${operation}`, { itemIndex }); } return responseData; } } exports.InfoModule = InfoModule; //# sourceMappingURL=InfoModule.js.map