n8n-nodes-fatture-in-cloud
Version:
n8n community node for Fatture in Cloud integration using the official TypeScript SDK
49 lines • 2.11 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.CompaniesModule = void 0;
const fattureincloud_ts_sdk_1 = require("@fattureincloud/fattureincloud-ts-sdk");
const CompaniesResource_1 = require("../resources/CompaniesResource");
class CompaniesModule {
constructor() {
this.resource = CompaniesResource_1.CompaniesResource;
}
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 Error('Access token not found in credentials. Please re-authenticate your Fatture in Cloud connection.');
}
const config = new fattureincloud_ts_sdk_1.Configuration({
accessToken,
});
const companiesApi = new fattureincloud_ts_sdk_1.CompaniesApi(config);
const companyId = context.getNodeParameter('companyId', itemIndex);
let responseData;
switch (operation) {
case 'getInfo':
const infoResponse = await companiesApi.getCompanyInfo(companyId);
responseData = infoResponse.data;
break;
case 'getPlanUsage':
const category = context.getNodeParameter('category', itemIndex);
const usageResponse = await companiesApi.getCompanyPlanUsage(companyId, category);
responseData = usageResponse.data;
break;
default:
throw new Error(`Unknown operation: ${operation}`);
}
return responseData;
}
}
exports.CompaniesModule = CompaniesModule;
//# sourceMappingURL=CompaniesModule.js.map