n8n-nodes-ynab
Version:
A YNAB integration for n8n
54 lines • 1.6 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.GetBudgets = void 0;
class GetBudgets {
constructor() {
this.description = {
displayName: 'YNAB - Get Budgets',
name: 'getBudgets',
group: ['transform'],
version: 1,
description: 'YNAB Get Budgets',
defaults: {
name: 'Get Budgets',
},
inputs: ['main'],
outputs: ['main'],
credentials: [
{
name: 'ynabApi',
required: true,
},
],
properties: [],
};
}
async execute() {
const returnData = [];
const apiKey = await this.getCredentials('ynabApi');
const options = {
method: 'GET',
url: 'https://api.ynab.com/v1/budgets?include_accounts=false',
headers: {
Authorization: `${apiKey.token ? `Bearer ${apiKey.token}` : ''}`,
'Content-Type': 'application/json',
},
json: true,
};
try {
const response = this.helpers.request(options);
returnData.push({
json: { response },
});
}
catch (error) {
if (error instanceof Error) {
throw Error(`Error getting budgets: ${error.message}`);
}
throw error;
}
return [returnData];
}
}
exports.GetBudgets = GetBudgets;
//# sourceMappingURL=GetBudgets.node.js.map