UNPKG

belvo

Version:
199 lines (153 loc) 9.07 kB
"use strict"; function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _moment = _interopRequireDefault(require("moment")); var _resources = _interopRequireDefault(require("./resources")); var _exceptions = _interopRequireDefault(require("./exceptions")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } function _classPrivateFieldLooseBase(receiver, privateKey) { if (!Object.prototype.hasOwnProperty.call(receiver, privateKey)) { throw new TypeError("attempted to use private field on non-instance"); } return receiver; } var id = 0; function _classPrivateFieldLooseKey(name) { return "__private_" + id++ + "_" + name; } var _endpoint = /*#__PURE__*/_classPrivateFieldLooseKey("endpoint"); /** * A Transaction contains the detailed information of each movement inside an Account. * @extends Resource */ var Transaction = /*#__PURE__*/function (_Resource) { _inherits(Transaction, _Resource); var _super = _createSuper(Transaction); function Transaction() { var _this; _classCallCheck(this, Transaction); for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } _this = _super.call.apply(_super, [this].concat(args)); Object.defineProperty(_assertThisInitialized(_this), _endpoint, { writable: true, value: 'api/transactions/' }); return _this; } _createClass(Transaction, [{ key: "retrieve", value: /** * Retrieve transactions from a specific account or all accounts from a specific link. * @async * @param {string} link - UUID4 representation of a Link Id. * @param {string} dateFrom - Required date from, format is YYYY-MM-DD. * @param {object} options - Optional parameters (dateTo, token, saveData, account) * @returns {object} Response * @throws {RequestError} */ function () { var _retrieve = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(link, dateFrom) { var options, token, saveData, account, dateTo, result, _args = arguments; return regeneratorRuntime.wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: options = _args.length > 2 && _args[2] !== undefined ? _args[2] : {}; token = options.token, saveData = options.saveData, account = options.account; dateTo = options.dateTo; if (!dateTo) { dateTo = (0, _moment["default"])().format('YYYY-MM-DD'); } _context.next = 6; return this.session.post(_classPrivateFieldLooseBase(this, _endpoint)[_endpoint], { link: link, token: token, date_from: dateFrom, date_to: dateTo, account: account, save_data: saveData }); case 6: result = _context.sent; return _context.abrupt("return", result); case 8: case "end": return _context.stop(); } } }, _callee, this); })); function retrieve(_x, _x2) { return _retrieve.apply(this, arguments); } return retrieve; }() /** * Get a list of transactions. * @param {Object} params - Receives two parameters. * @param {number} [params.limit=100] - Maximum number of results. * @param {Object} [params.filters={}] - Filters to get custom results. Link ID is required * @returns {array} List of results. * @throws {RequestError} */ }, { key: "list", value: function () { var _list = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() { var _ref, _ref$limit, limit, _ref$filters, filters, result, _args2 = arguments; return regeneratorRuntime.wrap(function _callee2$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: _ref = _args2.length > 0 && _args2[0] !== undefined ? _args2[0] : {}, _ref$limit = _ref.limit, limit = _ref$limit === void 0 ? 100 : _ref$limit, _ref$filters = _ref.filters, filters = _ref$filters === void 0 ? {} : _ref$filters; if ('link' in filters) { _context2.next = 3; break; } throw new _exceptions["default"](400, 'Link filter is required'); case 3: _context2.next = 5; return this.session.list(_classPrivateFieldLooseBase(this, _endpoint)[_endpoint], limit, filters); case 5: result = _context2.sent; return _context2.abrupt("return", result); case 7: case "end": return _context2.stop(); } } }, _callee2, this); })); function list() { return _list.apply(this, arguments); } return list; }() }]); return Transaction; }(_resources["default"]); var _default = Transaction; exports["default"] = _default;