UNPKG

ynab

Version:

Official JavaScript client for the YNAB API. API documentation available at https://api.ynab.com. Generated from server specification version 1.85.0

570 lines (569 loc) 33.8 kB
/* 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 = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype); return g.next = verb(0), g["throw"] = verb(1), g["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 { CategoriesResponseFromJSON, CategoryResponseFromJSON, PatchCategoryGroupWrapperToJSON, PatchCategoryWrapperToJSON, PatchMonthCategoryWrapperToJSON, PostCategoryGroupWrapperToJSON, PostCategoryWrapperToJSON, SaveCategoryGroupResponseFromJSON, SaveCategoryResponseFromJSON, } from '../models/index'; /** * */ var CategoriesApi = /** @class */ (function (_super) { __extends(CategoriesApi, _super); function CategoriesApi() { return _super !== null && _super.apply(this, arguments) || this; } /** * Creates a new category * Create a category */ CategoriesApi.prototype.createCategoryRaw = 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.planId === null || requestParameters.planId === undefined) { throw new runtime.RequiredError('planId', 'Required parameter requestParameters.planId was null or undefined when calling createCategory.'); } if (requestParameters.data === null || requestParameters.data === undefined) { throw new runtime.RequiredError('data', 'Required parameter requestParameters.data was null or undefined when calling createCategory.'); } 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: "/plans/{plan_id}/categories".replace("{".concat("plan_id", "}"), encodeURIComponent(String(requestParameters.planId))), method: 'POST', headers: headerParameters, query: queryParameters, body: PostCategoryWrapperToJSON(requestParameters.data), }, initOverrides)]; case 3: response = _a.sent(); return [2 /*return*/, new runtime.JSONApiResponse(response, function (jsonValue) { return SaveCategoryResponseFromJSON(jsonValue); })]; } }); }); }; /** * Creates a new category * Create a category */ CategoriesApi.prototype.createCategory = function (planId, 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.createCategoryRaw({ planId: planId, data: data }, initOverrides)]; case 1: response = _a.sent(); return [4 /*yield*/, response.value()]; case 2: return [2 /*return*/, _a.sent()]; } }); }); }; /** * Creates a new category group * Create a category group */ CategoriesApi.prototype.createCategoryGroupRaw = 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.planId === null || requestParameters.planId === undefined) { throw new runtime.RequiredError('planId', 'Required parameter requestParameters.planId was null or undefined when calling createCategoryGroup.'); } if (requestParameters.data === null || requestParameters.data === undefined) { throw new runtime.RequiredError('data', 'Required parameter requestParameters.data was null or undefined when calling createCategoryGroup.'); } 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: "/plans/{plan_id}/category_groups".replace("{".concat("plan_id", "}"), encodeURIComponent(String(requestParameters.planId))), method: 'POST', headers: headerParameters, query: queryParameters, body: PostCategoryGroupWrapperToJSON(requestParameters.data), }, initOverrides)]; case 3: response = _a.sent(); return [2 /*return*/, new runtime.JSONApiResponse(response, function (jsonValue) { return SaveCategoryGroupResponseFromJSON(jsonValue); })]; } }); }); }; /** * Creates a new category group * Create a category group */ CategoriesApi.prototype.createCategoryGroup = function (planId, 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.createCategoryGroupRaw({ planId: planId, data: data }, initOverrides)]; case 1: response = _a.sent(); return [4 /*yield*/, response.value()]; case 2: return [2 /*return*/, _a.sent()]; } }); }); }; /** * Returns all categories grouped by category group. Amounts (assigned, activity, available, etc.) are specific to the current plan month (UTC). * Get all categories */ CategoriesApi.prototype.getCategoriesRaw = 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.planId === null || requestParameters.planId === undefined) { throw new runtime.RequiredError('planId', 'Required parameter requestParameters.planId was null or undefined when calling getCategories.'); } queryParameters = {}; 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: "/plans/{plan_id}/categories".replace("{".concat("plan_id", "}"), encodeURIComponent(String(requestParameters.planId))), method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides)]; case 3: response = _a.sent(); return [2 /*return*/, new runtime.JSONApiResponse(response, function (jsonValue) { return CategoriesResponseFromJSON(jsonValue); })]; } }); }); }; /** * Returns all categories grouped by category group. Amounts (assigned, activity, available, etc.) are specific to the current plan month (UTC). * Get all categories */ CategoriesApi.prototype.getCategories = function (planId, 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.getCategoriesRaw({ planId: planId, lastKnowledgeOfServer: lastKnowledgeOfServer }, initOverrides)]; case 1: response = _a.sent(); return [4 /*yield*/, response.value()]; case 2: return [2 /*return*/, _a.sent()]; } }); }); }; /** * Returns a single category. Amounts (assigned, activity, available, etc.) are specific to the current plan month (UTC). * Get a category */ CategoriesApi.prototype.getCategoryByIdRaw = 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.planId === null || requestParameters.planId === undefined) { throw new runtime.RequiredError('planId', 'Required parameter requestParameters.planId was null or undefined when calling getCategoryById.'); } if (requestParameters.categoryId === null || requestParameters.categoryId === undefined) { throw new runtime.RequiredError('categoryId', 'Required parameter requestParameters.categoryId was null or undefined when calling getCategoryById.'); } 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: "/plans/{plan_id}/categories/{category_id}".replace("{".concat("plan_id", "}"), encodeURIComponent(String(requestParameters.planId))).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 CategoryResponseFromJSON(jsonValue); })]; } }); }); }; /** * Returns a single category. Amounts (assigned, activity, available, etc.) are specific to the current plan month (UTC). * Get a category */ CategoriesApi.prototype.getCategoryById = function (planId, categoryId, 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.getCategoryByIdRaw({ planId: planId, categoryId: categoryId }, initOverrides)]; case 1: response = _a.sent(); return [4 /*yield*/, response.value()]; case 2: return [2 /*return*/, _a.sent()]; } }); }); }; /** * Returns a single category for a specific plan month. Amounts (assigned, activity, available, etc.) are specific to the current plan month (UTC). * Get a category for a specific plan month */ CategoriesApi.prototype.getMonthCategoryByIdRaw = 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.planId === null || requestParameters.planId === undefined) { throw new runtime.RequiredError('planId', 'Required parameter requestParameters.planId was null or undefined when calling getMonthCategoryById.'); } if (requestParameters.month === null || requestParameters.month === undefined) { throw new runtime.RequiredError('month', 'Required parameter requestParameters.month was null or undefined when calling getMonthCategoryById.'); } if (requestParameters.categoryId === null || requestParameters.categoryId === undefined) { throw new runtime.RequiredError('categoryId', 'Required parameter requestParameters.categoryId was null or undefined when calling getMonthCategoryById.'); } 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: "/plans/{plan_id}/months/{month}/categories/{category_id}".replace("{".concat("plan_id", "}"), encodeURIComponent(String(requestParameters.planId))).replace("{".concat("month", "}"), encodeURIComponent(String(requestParameters.month))).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 CategoryResponseFromJSON(jsonValue); })]; } }); }); }; /** * Returns a single category for a specific plan month. Amounts (assigned, activity, available, etc.) are specific to the current plan month (UTC). * Get a category for a specific plan month */ CategoriesApi.prototype.getMonthCategoryById = function (planId, month, categoryId, 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.getMonthCategoryByIdRaw({ planId: planId, month: month, categoryId: categoryId }, initOverrides)]; case 1: response = _a.sent(); return [4 /*yield*/, response.value()]; case 2: return [2 /*return*/, _a.sent()]; } }); }); }; /** * Update a category * Update a category */ CategoriesApi.prototype.updateCategoryRaw = 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.planId === null || requestParameters.planId === undefined) { throw new runtime.RequiredError('planId', 'Required parameter requestParameters.planId was null or undefined when calling updateCategory.'); } if (requestParameters.categoryId === null || requestParameters.categoryId === undefined) { throw new runtime.RequiredError('categoryId', 'Required parameter requestParameters.categoryId was null or undefined when calling updateCategory.'); } if (requestParameters.data === null || requestParameters.data === undefined) { throw new runtime.RequiredError('data', 'Required parameter requestParameters.data was null or undefined when calling updateCategory.'); } 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: "/plans/{plan_id}/categories/{category_id}".replace("{".concat("plan_id", "}"), encodeURIComponent(String(requestParameters.planId))).replace("{".concat("category_id", "}"), encodeURIComponent(String(requestParameters.categoryId))), method: 'PATCH', headers: headerParameters, query: queryParameters, body: PatchCategoryWrapperToJSON(requestParameters.data), }, initOverrides)]; case 3: response = _a.sent(); return [2 /*return*/, new runtime.JSONApiResponse(response, function (jsonValue) { return SaveCategoryResponseFromJSON(jsonValue); })]; } }); }); }; /** * Update a category * Update a category */ CategoriesApi.prototype.updateCategory = function (planId, categoryId, 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.updateCategoryRaw({ planId: planId, categoryId: categoryId, data: data }, initOverrides)]; case 1: response = _a.sent(); return [4 /*yield*/, response.value()]; case 2: return [2 /*return*/, _a.sent()]; } }); }); }; /** * Update a category group * Update a category group */ CategoriesApi.prototype.updateCategoryGroupRaw = 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.planId === null || requestParameters.planId === undefined) { throw new runtime.RequiredError('planId', 'Required parameter requestParameters.planId was null or undefined when calling updateCategoryGroup.'); } if (requestParameters.categoryGroupId === null || requestParameters.categoryGroupId === undefined) { throw new runtime.RequiredError('categoryGroupId', 'Required parameter requestParameters.categoryGroupId was null or undefined when calling updateCategoryGroup.'); } if (requestParameters.data === null || requestParameters.data === undefined) { throw new runtime.RequiredError('data', 'Required parameter requestParameters.data was null or undefined when calling updateCategoryGroup.'); } 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: "/plans/{plan_id}/category_groups/{category_group_id}".replace("{".concat("plan_id", "}"), encodeURIComponent(String(requestParameters.planId))).replace("{".concat("category_group_id", "}"), encodeURIComponent(String(requestParameters.categoryGroupId))), method: 'PATCH', headers: headerParameters, query: queryParameters, body: PatchCategoryGroupWrapperToJSON(requestParameters.data), }, initOverrides)]; case 3: response = _a.sent(); return [2 /*return*/, new runtime.JSONApiResponse(response, function (jsonValue) { return SaveCategoryGroupResponseFromJSON(jsonValue); })]; } }); }); }; /** * Update a category group * Update a category group */ CategoriesApi.prototype.updateCategoryGroup = function (planId, categoryGroupId, 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.updateCategoryGroupRaw({ planId: planId, categoryGroupId: categoryGroupId, data: data }, initOverrides)]; case 1: response = _a.sent(); return [4 /*yield*/, response.value()]; case 2: return [2 /*return*/, _a.sent()]; } }); }); }; /** * Update a category for a specific month. Only `budgeted` (assigned) amount can be updated. * Update a category for a specific month */ CategoriesApi.prototype.updateMonthCategoryRaw = 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.planId === null || requestParameters.planId === undefined) { throw new runtime.RequiredError('planId', 'Required parameter requestParameters.planId was null or undefined when calling updateMonthCategory.'); } if (requestParameters.month === null || requestParameters.month === undefined) { throw new runtime.RequiredError('month', 'Required parameter requestParameters.month was null or undefined when calling updateMonthCategory.'); } if (requestParameters.categoryId === null || requestParameters.categoryId === undefined) { throw new runtime.RequiredError('categoryId', 'Required parameter requestParameters.categoryId was null or undefined when calling updateMonthCategory.'); } if (requestParameters.data === null || requestParameters.data === undefined) { throw new runtime.RequiredError('data', 'Required parameter requestParameters.data was null or undefined when calling updateMonthCategory.'); } 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: "/plans/{plan_id}/months/{month}/categories/{category_id}".replace("{".concat("plan_id", "}"), encodeURIComponent(String(requestParameters.planId))).replace("{".concat("month", "}"), encodeURIComponent(String(requestParameters.month))).replace("{".concat("category_id", "}"), encodeURIComponent(String(requestParameters.categoryId))), method: 'PATCH', headers: headerParameters, query: queryParameters, body: PatchMonthCategoryWrapperToJSON(requestParameters.data), }, initOverrides)]; case 3: response = _a.sent(); return [2 /*return*/, new runtime.JSONApiResponse(response, function (jsonValue) { return SaveCategoryResponseFromJSON(jsonValue); })]; } }); }); }; /** * Update a category for a specific month. Only `budgeted` (assigned) amount can be updated. * Update a category for a specific month */ CategoriesApi.prototype.updateMonthCategory = function (planId, month, categoryId, 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.updateMonthCategoryRaw({ planId: planId, month: month, categoryId: categoryId, data: data }, initOverrides)]; case 1: response = _a.sent(); return [4 /*yield*/, response.value()]; case 2: return [2 /*return*/, _a.sent()]; } }); }); }; return CategoriesApi; }(runtime.BaseAPI)); export { CategoriesApi };