ynab
Version:
Official JavaScript client for the YNAB API. API documentation available at https://api.ynab.com. Generated from server specification version 1.74.0
805 lines (804 loc) • 47.1 kB
JavaScript
/* tslint:disable */
/* eslint-disable */
/**
* YNAB API Endpoints
* Our API uses a REST based design, leverages the JSON data format, and relies upon HTTPS for transport. We respond with meaningful HTTP response codes and if an error occurs, we include error details in the response body. API Documentation is at https://api.ynab.com
*
* Generated by: OpenAPI Generator (https://openapi-generator.tech)
*/
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
if (typeof b !== "function" && b !== null)
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __generator = (this && this.__generator) || function (thisArg, body) {
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
function verb(n) { return function (v) { return step([n, v]); }; }
function step(op) {
if (f) throw new TypeError("Generator is already executing.");
while (g && (g = 0, op[0] && (_ = 0)), _) try {
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
if (y = 0, t) op = [op[0] & 2, t.value];
switch (op[0]) {
case 0: case 1: t = op; break;
case 4: _.label++; return { value: op[1], done: false };
case 5: _.label++; y = op[1]; op = [0]; continue;
case 7: op = _.ops.pop(); _.trys.pop(); continue;
default:
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
if (t[2]) _.ops.pop();
_.trys.pop(); continue;
}
op = body.call(thisArg, _);
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
}
};
import * as runtime from '../runtime';
import { HybridTransactionsResponseFromJSON, PatchTransactionsWrapperToJSON, PostTransactionsWrapperToJSON, PutTransactionWrapperToJSON, SaveTransactionsResponseFromJSON, TransactionResponseFromJSON, TransactionsImportResponseFromJSON, TransactionsResponseFromJSON, } from '../models/index';
/**
*
*/
var TransactionsApi = /** @class */ (function (_super) {
__extends(TransactionsApi, _super);
function TransactionsApi() {
return _super !== null && _super.apply(this, arguments) || this;
}
/**
* Creates a single transaction or multiple transactions. If you provide a body containing a `transaction` object, a single transaction will be created and if you provide a body containing a `transactions` array, multiple transactions will be created. Scheduled transactions (transactions with a future date) cannot be created on this endpoint.
* Create a single transaction or multiple transactions
*/
TransactionsApi.prototype.createTransactionRaw = function (requestParameters, initOverrides) {
return __awaiter(this, void 0, void 0, function () {
var queryParameters, headerParameters, token, tokenString, response;
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
if (requestParameters.budgetId === null || requestParameters.budgetId === undefined) {
throw new runtime.RequiredError('budgetId', 'Required parameter requestParameters.budgetId was null or undefined when calling createTransaction.');
}
if (requestParameters.data === null || requestParameters.data === undefined) {
throw new runtime.RequiredError('data', 'Required parameter requestParameters.data was null or undefined when calling createTransaction.');
}
queryParameters = {};
headerParameters = {};
headerParameters['Accept'] = 'application/json';
headerParameters['Content-Type'] = 'application/json';
if (!(this.configuration && this.configuration.accessToken)) return [3 /*break*/, 2];
token = this.configuration.accessToken;
return [4 /*yield*/, token("bearer", [])];
case 1:
tokenString = _a.sent();
if (tokenString) {
headerParameters["Authorization"] = "Bearer ".concat(tokenString);
}
_a.label = 2;
case 2: return [4 /*yield*/, this.request({
path: "/budgets/{budget_id}/transactions".replace("{".concat("budget_id", "}"), encodeURIComponent(String(requestParameters.budgetId))),
method: 'POST',
headers: headerParameters,
query: queryParameters,
body: PostTransactionsWrapperToJSON(requestParameters.data),
}, initOverrides)];
case 3:
response = _a.sent();
return [2 /*return*/, new runtime.JSONApiResponse(response, function (jsonValue) { return SaveTransactionsResponseFromJSON(jsonValue); })];
}
});
});
};
/**
* Creates a single transaction or multiple transactions. If you provide a body containing a `transaction` object, a single transaction will be created and if you provide a body containing a `transactions` array, multiple transactions will be created. Scheduled transactions (transactions with a future date) cannot be created on this endpoint.
* Create a single transaction or multiple transactions
*/
TransactionsApi.prototype.createTransaction = function (budgetId, data, initOverrides) {
return __awaiter(this, void 0, void 0, function () {
var response;
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, this.createTransactionRaw({ budgetId: budgetId, data: data }, initOverrides)];
case 1:
response = _a.sent();
return [4 /*yield*/, response.value()];
case 2: return [2 /*return*/, _a.sent()];
}
});
});
};
/**
* Deletes a transaction
* Deletes an existing transaction
*/
TransactionsApi.prototype.deleteTransactionRaw = function (requestParameters, initOverrides) {
return __awaiter(this, void 0, void 0, function () {
var queryParameters, headerParameters, token, tokenString, response;
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
if (requestParameters.budgetId === null || requestParameters.budgetId === undefined) {
throw new runtime.RequiredError('budgetId', 'Required parameter requestParameters.budgetId was null or undefined when calling deleteTransaction.');
}
if (requestParameters.transactionId === null || requestParameters.transactionId === undefined) {
throw new runtime.RequiredError('transactionId', 'Required parameter requestParameters.transactionId was null or undefined when calling deleteTransaction.');
}
queryParameters = {};
headerParameters = {};
headerParameters['Accept'] = 'application/json';
if (!(this.configuration && this.configuration.accessToken)) return [3 /*break*/, 2];
token = this.configuration.accessToken;
return [4 /*yield*/, token("bearer", [])];
case 1:
tokenString = _a.sent();
if (tokenString) {
headerParameters["Authorization"] = "Bearer ".concat(tokenString);
}
_a.label = 2;
case 2: return [4 /*yield*/, this.request({
path: "/budgets/{budget_id}/transactions/{transaction_id}".replace("{".concat("budget_id", "}"), encodeURIComponent(String(requestParameters.budgetId))).replace("{".concat("transaction_id", "}"), encodeURIComponent(String(requestParameters.transactionId))),
method: 'DELETE',
headers: headerParameters,
query: queryParameters,
}, initOverrides)];
case 3:
response = _a.sent();
return [2 /*return*/, new runtime.JSONApiResponse(response, function (jsonValue) { return TransactionResponseFromJSON(jsonValue); })];
}
});
});
};
/**
* Deletes a transaction
* Deletes an existing transaction
*/
TransactionsApi.prototype.deleteTransaction = function (budgetId, transactionId, initOverrides) {
return __awaiter(this, void 0, void 0, function () {
var response;
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, this.deleteTransactionRaw({ budgetId: budgetId, transactionId: transactionId }, initOverrides)];
case 1:
response = _a.sent();
return [4 /*yield*/, response.value()];
case 2: return [2 /*return*/, _a.sent()];
}
});
});
};
/**
* Returns a single transaction
* Single transaction
*/
TransactionsApi.prototype.getTransactionByIdRaw = function (requestParameters, initOverrides) {
return __awaiter(this, void 0, void 0, function () {
var queryParameters, headerParameters, token, tokenString, response;
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
if (requestParameters.budgetId === null || requestParameters.budgetId === undefined) {
throw new runtime.RequiredError('budgetId', 'Required parameter requestParameters.budgetId was null or undefined when calling getTransactionById.');
}
if (requestParameters.transactionId === null || requestParameters.transactionId === undefined) {
throw new runtime.RequiredError('transactionId', 'Required parameter requestParameters.transactionId was null or undefined when calling getTransactionById.');
}
queryParameters = {};
headerParameters = {};
headerParameters['Accept'] = 'application/json';
if (!(this.configuration && this.configuration.accessToken)) return [3 /*break*/, 2];
token = this.configuration.accessToken;
return [4 /*yield*/, token("bearer", [])];
case 1:
tokenString = _a.sent();
if (tokenString) {
headerParameters["Authorization"] = "Bearer ".concat(tokenString);
}
_a.label = 2;
case 2: return [4 /*yield*/, this.request({
path: "/budgets/{budget_id}/transactions/{transaction_id}".replace("{".concat("budget_id", "}"), encodeURIComponent(String(requestParameters.budgetId))).replace("{".concat("transaction_id", "}"), encodeURIComponent(String(requestParameters.transactionId))),
method: 'GET',
headers: headerParameters,
query: queryParameters,
}, initOverrides)];
case 3:
response = _a.sent();
return [2 /*return*/, new runtime.JSONApiResponse(response, function (jsonValue) { return TransactionResponseFromJSON(jsonValue); })];
}
});
});
};
/**
* Returns a single transaction
* Single transaction
*/
TransactionsApi.prototype.getTransactionById = function (budgetId, transactionId, initOverrides) {
return __awaiter(this, void 0, void 0, function () {
var response;
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, this.getTransactionByIdRaw({ budgetId: budgetId, transactionId: transactionId }, initOverrides)];
case 1:
response = _a.sent();
return [4 /*yield*/, response.value()];
case 2: return [2 /*return*/, _a.sent()];
}
});
});
};
/**
* Returns budget transactions, excluding any pending transactions
* List transactions
*/
TransactionsApi.prototype.getTransactionsRaw = function (requestParameters, initOverrides) {
return __awaiter(this, void 0, void 0, function () {
var queryParameters, headerParameters, token, tokenString, response;
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
if (requestParameters.budgetId === null || requestParameters.budgetId === undefined) {
throw new runtime.RequiredError('budgetId', 'Required parameter requestParameters.budgetId was null or undefined when calling getTransactions.');
}
queryParameters = {};
if (requestParameters.sinceDate !== undefined) {
queryParameters['since_date'] = requestParameters.sinceDate;
}
if (requestParameters.type !== undefined) {
queryParameters['type'] = requestParameters.type;
}
if (requestParameters.lastKnowledgeOfServer !== undefined) {
queryParameters['last_knowledge_of_server'] = requestParameters.lastKnowledgeOfServer;
}
headerParameters = {};
headerParameters['Accept'] = 'application/json';
if (!(this.configuration && this.configuration.accessToken)) return [3 /*break*/, 2];
token = this.configuration.accessToken;
return [4 /*yield*/, token("bearer", [])];
case 1:
tokenString = _a.sent();
if (tokenString) {
headerParameters["Authorization"] = "Bearer ".concat(tokenString);
}
_a.label = 2;
case 2: return [4 /*yield*/, this.request({
path: "/budgets/{budget_id}/transactions".replace("{".concat("budget_id", "}"), encodeURIComponent(String(requestParameters.budgetId))),
method: 'GET',
headers: headerParameters,
query: queryParameters,
}, initOverrides)];
case 3:
response = _a.sent();
return [2 /*return*/, new runtime.JSONApiResponse(response, function (jsonValue) { return TransactionsResponseFromJSON(jsonValue); })];
}
});
});
};
/**
* Returns budget transactions, excluding any pending transactions
* List transactions
*/
TransactionsApi.prototype.getTransactions = function (budgetId, sinceDate, type, lastKnowledgeOfServer, initOverrides) {
return __awaiter(this, void 0, void 0, function () {
var response;
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, this.getTransactionsRaw({ budgetId: budgetId, sinceDate: sinceDate, type: type, lastKnowledgeOfServer: lastKnowledgeOfServer }, initOverrides)];
case 1:
response = _a.sent();
return [4 /*yield*/, response.value()];
case 2: return [2 /*return*/, _a.sent()];
}
});
});
};
/**
* Returns all transactions for a specified account, excluding any pending transactions
* List account transactions
*/
TransactionsApi.prototype.getTransactionsByAccountRaw = function (requestParameters, initOverrides) {
return __awaiter(this, void 0, void 0, function () {
var queryParameters, headerParameters, token, tokenString, response;
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
if (requestParameters.budgetId === null || requestParameters.budgetId === undefined) {
throw new runtime.RequiredError('budgetId', 'Required parameter requestParameters.budgetId was null or undefined when calling getTransactionsByAccount.');
}
if (requestParameters.accountId === null || requestParameters.accountId === undefined) {
throw new runtime.RequiredError('accountId', 'Required parameter requestParameters.accountId was null or undefined when calling getTransactionsByAccount.');
}
queryParameters = {};
if (requestParameters.sinceDate !== undefined) {
queryParameters['since_date'] = requestParameters.sinceDate;
}
if (requestParameters.type !== undefined) {
queryParameters['type'] = requestParameters.type;
}
if (requestParameters.lastKnowledgeOfServer !== undefined) {
queryParameters['last_knowledge_of_server'] = requestParameters.lastKnowledgeOfServer;
}
headerParameters = {};
headerParameters['Accept'] = 'application/json';
if (!(this.configuration && this.configuration.accessToken)) return [3 /*break*/, 2];
token = this.configuration.accessToken;
return [4 /*yield*/, token("bearer", [])];
case 1:
tokenString = _a.sent();
if (tokenString) {
headerParameters["Authorization"] = "Bearer ".concat(tokenString);
}
_a.label = 2;
case 2: return [4 /*yield*/, this.request({
path: "/budgets/{budget_id}/accounts/{account_id}/transactions".replace("{".concat("budget_id", "}"), encodeURIComponent(String(requestParameters.budgetId))).replace("{".concat("account_id", "}"), encodeURIComponent(String(requestParameters.accountId))),
method: 'GET',
headers: headerParameters,
query: queryParameters,
}, initOverrides)];
case 3:
response = _a.sent();
return [2 /*return*/, new runtime.JSONApiResponse(response, function (jsonValue) { return TransactionsResponseFromJSON(jsonValue); })];
}
});
});
};
/**
* Returns all transactions for a specified account, excluding any pending transactions
* List account transactions
*/
TransactionsApi.prototype.getTransactionsByAccount = function (budgetId, accountId, sinceDate, type, lastKnowledgeOfServer, initOverrides) {
return __awaiter(this, void 0, void 0, function () {
var response;
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, this.getTransactionsByAccountRaw({ budgetId: budgetId, accountId: accountId, sinceDate: sinceDate, type: type, lastKnowledgeOfServer: lastKnowledgeOfServer }, initOverrides)];
case 1:
response = _a.sent();
return [4 /*yield*/, response.value()];
case 2: return [2 /*return*/, _a.sent()];
}
});
});
};
/**
* Returns all transactions for a specified category
* List category transactions, excluding any pending transactions
*/
TransactionsApi.prototype.getTransactionsByCategoryRaw = function (requestParameters, initOverrides) {
return __awaiter(this, void 0, void 0, function () {
var queryParameters, headerParameters, token, tokenString, response;
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
if (requestParameters.budgetId === null || requestParameters.budgetId === undefined) {
throw new runtime.RequiredError('budgetId', 'Required parameter requestParameters.budgetId was null or undefined when calling getTransactionsByCategory.');
}
if (requestParameters.categoryId === null || requestParameters.categoryId === undefined) {
throw new runtime.RequiredError('categoryId', 'Required parameter requestParameters.categoryId was null or undefined when calling getTransactionsByCategory.');
}
queryParameters = {};
if (requestParameters.sinceDate !== undefined) {
queryParameters['since_date'] = requestParameters.sinceDate;
}
if (requestParameters.type !== undefined) {
queryParameters['type'] = requestParameters.type;
}
if (requestParameters.lastKnowledgeOfServer !== undefined) {
queryParameters['last_knowledge_of_server'] = requestParameters.lastKnowledgeOfServer;
}
headerParameters = {};
headerParameters['Accept'] = 'application/json';
if (!(this.configuration && this.configuration.accessToken)) return [3 /*break*/, 2];
token = this.configuration.accessToken;
return [4 /*yield*/, token("bearer", [])];
case 1:
tokenString = _a.sent();
if (tokenString) {
headerParameters["Authorization"] = "Bearer ".concat(tokenString);
}
_a.label = 2;
case 2: return [4 /*yield*/, this.request({
path: "/budgets/{budget_id}/categories/{category_id}/transactions".replace("{".concat("budget_id", "}"), encodeURIComponent(String(requestParameters.budgetId))).replace("{".concat("category_id", "}"), encodeURIComponent(String(requestParameters.categoryId))),
method: 'GET',
headers: headerParameters,
query: queryParameters,
}, initOverrides)];
case 3:
response = _a.sent();
return [2 /*return*/, new runtime.JSONApiResponse(response, function (jsonValue) { return HybridTransactionsResponseFromJSON(jsonValue); })];
}
});
});
};
/**
* Returns all transactions for a specified category
* List category transactions, excluding any pending transactions
*/
TransactionsApi.prototype.getTransactionsByCategory = function (budgetId, categoryId, sinceDate, type, lastKnowledgeOfServer, initOverrides) {
return __awaiter(this, void 0, void 0, function () {
var response;
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, this.getTransactionsByCategoryRaw({ budgetId: budgetId, categoryId: categoryId, sinceDate: sinceDate, type: type, lastKnowledgeOfServer: lastKnowledgeOfServer }, initOverrides)];
case 1:
response = _a.sent();
return [4 /*yield*/, response.value()];
case 2: return [2 /*return*/, _a.sent()];
}
});
});
};
/**
* Returns all transactions for a specified month
* List transactions in month, excluding any pending transactions
*/
TransactionsApi.prototype.getTransactionsByMonthRaw = function (requestParameters, initOverrides) {
return __awaiter(this, void 0, void 0, function () {
var queryParameters, headerParameters, token, tokenString, response;
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
if (requestParameters.budgetId === null || requestParameters.budgetId === undefined) {
throw new runtime.RequiredError('budgetId', 'Required parameter requestParameters.budgetId was null or undefined when calling getTransactionsByMonth.');
}
if (requestParameters.month === null || requestParameters.month === undefined) {
throw new runtime.RequiredError('month', 'Required parameter requestParameters.month was null or undefined when calling getTransactionsByMonth.');
}
queryParameters = {};
if (requestParameters.sinceDate !== undefined) {
queryParameters['since_date'] = requestParameters.sinceDate;
}
if (requestParameters.type !== undefined) {
queryParameters['type'] = requestParameters.type;
}
if (requestParameters.lastKnowledgeOfServer !== undefined) {
queryParameters['last_knowledge_of_server'] = requestParameters.lastKnowledgeOfServer;
}
headerParameters = {};
headerParameters['Accept'] = 'application/json';
if (!(this.configuration && this.configuration.accessToken)) return [3 /*break*/, 2];
token = this.configuration.accessToken;
return [4 /*yield*/, token("bearer", [])];
case 1:
tokenString = _a.sent();
if (tokenString) {
headerParameters["Authorization"] = "Bearer ".concat(tokenString);
}
_a.label = 2;
case 2: return [4 /*yield*/, this.request({
path: "/budgets/{budget_id}/months/{month}/transactions".replace("{".concat("budget_id", "}"), encodeURIComponent(String(requestParameters.budgetId))).replace("{".concat("month", "}"), encodeURIComponent(String(requestParameters.month))),
method: 'GET',
headers: headerParameters,
query: queryParameters,
}, initOverrides)];
case 3:
response = _a.sent();
return [2 /*return*/, new runtime.JSONApiResponse(response, function (jsonValue) { return HybridTransactionsResponseFromJSON(jsonValue); })];
}
});
});
};
/**
* Returns all transactions for a specified month
* List transactions in month, excluding any pending transactions
*/
TransactionsApi.prototype.getTransactionsByMonth = function (budgetId, month, sinceDate, type, lastKnowledgeOfServer, initOverrides) {
return __awaiter(this, void 0, void 0, function () {
var response;
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, this.getTransactionsByMonthRaw({ budgetId: budgetId, month: month, sinceDate: sinceDate, type: type, lastKnowledgeOfServer: lastKnowledgeOfServer }, initOverrides)];
case 1:
response = _a.sent();
return [4 /*yield*/, response.value()];
case 2: return [2 /*return*/, _a.sent()];
}
});
});
};
/**
* Returns all transactions for a specified payee
* List payee transactions, excluding any pending transactions
*/
TransactionsApi.prototype.getTransactionsByPayeeRaw = function (requestParameters, initOverrides) {
return __awaiter(this, void 0, void 0, function () {
var queryParameters, headerParameters, token, tokenString, response;
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
if (requestParameters.budgetId === null || requestParameters.budgetId === undefined) {
throw new runtime.RequiredError('budgetId', 'Required parameter requestParameters.budgetId was null or undefined when calling getTransactionsByPayee.');
}
if (requestParameters.payeeId === null || requestParameters.payeeId === undefined) {
throw new runtime.RequiredError('payeeId', 'Required parameter requestParameters.payeeId was null or undefined when calling getTransactionsByPayee.');
}
queryParameters = {};
if (requestParameters.sinceDate !== undefined) {
queryParameters['since_date'] = requestParameters.sinceDate;
}
if (requestParameters.type !== undefined) {
queryParameters['type'] = requestParameters.type;
}
if (requestParameters.lastKnowledgeOfServer !== undefined) {
queryParameters['last_knowledge_of_server'] = requestParameters.lastKnowledgeOfServer;
}
headerParameters = {};
headerParameters['Accept'] = 'application/json';
if (!(this.configuration && this.configuration.accessToken)) return [3 /*break*/, 2];
token = this.configuration.accessToken;
return [4 /*yield*/, token("bearer", [])];
case 1:
tokenString = _a.sent();
if (tokenString) {
headerParameters["Authorization"] = "Bearer ".concat(tokenString);
}
_a.label = 2;
case 2: return [4 /*yield*/, this.request({
path: "/budgets/{budget_id}/payees/{payee_id}/transactions".replace("{".concat("budget_id", "}"), encodeURIComponent(String(requestParameters.budgetId))).replace("{".concat("payee_id", "}"), encodeURIComponent(String(requestParameters.payeeId))),
method: 'GET',
headers: headerParameters,
query: queryParameters,
}, initOverrides)];
case 3:
response = _a.sent();
return [2 /*return*/, new runtime.JSONApiResponse(response, function (jsonValue) { return HybridTransactionsResponseFromJSON(jsonValue); })];
}
});
});
};
/**
* Returns all transactions for a specified payee
* List payee transactions, excluding any pending transactions
*/
TransactionsApi.prototype.getTransactionsByPayee = function (budgetId, payeeId, sinceDate, type, lastKnowledgeOfServer, initOverrides) {
return __awaiter(this, void 0, void 0, function () {
var response;
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, this.getTransactionsByPayeeRaw({ budgetId: budgetId, payeeId: payeeId, sinceDate: sinceDate, type: type, lastKnowledgeOfServer: lastKnowledgeOfServer }, initOverrides)];
case 1:
response = _a.sent();
return [4 /*yield*/, response.value()];
case 2: return [2 /*return*/, _a.sent()];
}
});
});
};
/**
* Imports available transactions on all linked accounts for the given budget. Linked accounts allow transactions to be imported directly from a specified financial institution and this endpoint initiates that import. Sending a request to this endpoint is the equivalent of clicking \"Import\" on each account in the web application or tapping the \"New Transactions\" banner in the mobile applications. The response for this endpoint contains the transaction ids that have been imported.
* Import transactions
*/
TransactionsApi.prototype.importTransactionsRaw = function (requestParameters, initOverrides) {
return __awaiter(this, void 0, void 0, function () {
var queryParameters, headerParameters, token, tokenString, response;
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
if (requestParameters.budgetId === null || requestParameters.budgetId === undefined) {
throw new runtime.RequiredError('budgetId', 'Required parameter requestParameters.budgetId was null or undefined when calling importTransactions.');
}
queryParameters = {};
headerParameters = {};
headerParameters['Accept'] = 'application/json';
if (!(this.configuration && this.configuration.accessToken)) return [3 /*break*/, 2];
token = this.configuration.accessToken;
return [4 /*yield*/, token("bearer", [])];
case 1:
tokenString = _a.sent();
if (tokenString) {
headerParameters["Authorization"] = "Bearer ".concat(tokenString);
}
_a.label = 2;
case 2: return [4 /*yield*/, this.request({
path: "/budgets/{budget_id}/transactions/import".replace("{".concat("budget_id", "}"), encodeURIComponent(String(requestParameters.budgetId))),
method: 'POST',
headers: headerParameters,
query: queryParameters,
}, initOverrides)];
case 3:
response = _a.sent();
return [2 /*return*/, new runtime.JSONApiResponse(response, function (jsonValue) { return TransactionsImportResponseFromJSON(jsonValue); })];
}
});
});
};
/**
* Imports available transactions on all linked accounts for the given budget. Linked accounts allow transactions to be imported directly from a specified financial institution and this endpoint initiates that import. Sending a request to this endpoint is the equivalent of clicking \"Import\" on each account in the web application or tapping the \"New Transactions\" banner in the mobile applications. The response for this endpoint contains the transaction ids that have been imported.
* Import transactions
*/
TransactionsApi.prototype.importTransactions = function (budgetId, initOverrides) {
return __awaiter(this, void 0, void 0, function () {
var response;
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, this.importTransactionsRaw({ budgetId: budgetId }, initOverrides)];
case 1:
response = _a.sent();
return [4 /*yield*/, response.value()];
case 2: return [2 /*return*/, _a.sent()];
}
});
});
};
/**
* Updates a single transaction
* Updates an existing transaction
*/
TransactionsApi.prototype.updateTransactionRaw = function (requestParameters, initOverrides) {
return __awaiter(this, void 0, void 0, function () {
var queryParameters, headerParameters, token, tokenString, response;
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
if (requestParameters.budgetId === null || requestParameters.budgetId === undefined) {
throw new runtime.RequiredError('budgetId', 'Required parameter requestParameters.budgetId was null or undefined when calling updateTransaction.');
}
if (requestParameters.transactionId === null || requestParameters.transactionId === undefined) {
throw new runtime.RequiredError('transactionId', 'Required parameter requestParameters.transactionId was null or undefined when calling updateTransaction.');
}
if (requestParameters.data === null || requestParameters.data === undefined) {
throw new runtime.RequiredError('data', 'Required parameter requestParameters.data was null or undefined when calling updateTransaction.');
}
queryParameters = {};
headerParameters = {};
headerParameters['Accept'] = 'application/json';
headerParameters['Content-Type'] = 'application/json';
if (!(this.configuration && this.configuration.accessToken)) return [3 /*break*/, 2];
token = this.configuration.accessToken;
return [4 /*yield*/, token("bearer", [])];
case 1:
tokenString = _a.sent();
if (tokenString) {
headerParameters["Authorization"] = "Bearer ".concat(tokenString);
}
_a.label = 2;
case 2: return [4 /*yield*/, this.request({
path: "/budgets/{budget_id}/transactions/{transaction_id}".replace("{".concat("budget_id", "}"), encodeURIComponent(String(requestParameters.budgetId))).replace("{".concat("transaction_id", "}"), encodeURIComponent(String(requestParameters.transactionId))),
method: 'PUT',
headers: headerParameters,
query: queryParameters,
body: PutTransactionWrapperToJSON(requestParameters.data),
}, initOverrides)];
case 3:
response = _a.sent();
return [2 /*return*/, new runtime.JSONApiResponse(response, function (jsonValue) { return TransactionResponseFromJSON(jsonValue); })];
}
});
});
};
/**
* Updates a single transaction
* Updates an existing transaction
*/
TransactionsApi.prototype.updateTransaction = function (budgetId, transactionId, data, initOverrides) {
return __awaiter(this, void 0, void 0, function () {
var response;
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, this.updateTransactionRaw({ budgetId: budgetId, transactionId: transactionId, data: data }, initOverrides)];
case 1:
response = _a.sent();
return [4 /*yield*/, response.value()];
case 2: return [2 /*return*/, _a.sent()];
}
});
});
};
/**
* Updates multiple transactions, by `id` or `import_id`.
* Update multiple transactions
*/
TransactionsApi.prototype.updateTransactionsRaw = function (requestParameters, initOverrides) {
return __awaiter(this, void 0, void 0, function () {
var queryParameters, headerParameters, token, tokenString, response;
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
if (requestParameters.budgetId === null || requestParameters.budgetId === undefined) {
throw new runtime.RequiredError('budgetId', 'Required parameter requestParameters.budgetId was null or undefined when calling updateTransactions.');
}
if (requestParameters.data === null || requestParameters.data === undefined) {
throw new runtime.RequiredError('data', 'Required parameter requestParameters.data was null or undefined when calling updateTransactions.');
}
queryParameters = {};
headerParameters = {};
headerParameters['Accept'] = 'application/json';
headerParameters['Content-Type'] = 'application/json';
if (!(this.configuration && this.configuration.accessToken)) return [3 /*break*/, 2];
token = this.configuration.accessToken;
return [4 /*yield*/, token("bearer", [])];
case 1:
tokenString = _a.sent();
if (tokenString) {
headerParameters["Authorization"] = "Bearer ".concat(tokenString);
}
_a.label = 2;
case 2: return [4 /*yield*/, this.request({
path: "/budgets/{budget_id}/transactions".replace("{".concat("budget_id", "}"), encodeURIComponent(String(requestParameters.budgetId))),
method: 'PATCH',
headers: headerParameters,
query: queryParameters,
body: PatchTransactionsWrapperToJSON(requestParameters.data),
}, initOverrides)];
case 3:
response = _a.sent();
return [2 /*return*/, new runtime.JSONApiResponse(response, function (jsonValue) { return SaveTransactionsResponseFromJSON(jsonValue); })];
}
});
});
};
/**
* Updates multiple transactions, by `id` or `import_id`.
* Update multiple transactions
*/
TransactionsApi.prototype.updateTransactions = function (budgetId, data, initOverrides) {
return __awaiter(this, void 0, void 0, function () {
var response;
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, this.updateTransactionsRaw({ budgetId: budgetId, data: data }, initOverrides)];
case 1:
response = _a.sent();
return [4 /*yield*/, response.value()];
case 2: return [2 /*return*/, _a.sent()];
}
});
});
};
return TransactionsApi;
}(runtime.BaseAPI));
export { TransactionsApi };
/**
* @export
*/
export var GetTransactionsTypeEnum = {
Uncategorized: 'uncategorized',
Unapproved: 'unapproved'
};
/**
* @export
*/
export var GetTransactionsByAccountTypeEnum = {
Uncategorized: 'uncategorized',
Unapproved: 'unapproved'
};
/**
* @export
*/
export var GetTransactionsByCategoryTypeEnum = {
Uncategorized: 'uncategorized',
Unapproved: 'unapproved'
};
/**
* @export
*/
export var GetTransactionsByMonthTypeEnum = {
Uncategorized: 'uncategorized',
Unapproved: 'unapproved'
};
/**
* @export
*/
export var GetTransactionsByPayeeTypeEnum = {
Uncategorized: 'uncategorized',
Unapproved: 'unapproved'
};