UNPKG

@walletpack/core

Version:

> TODO: description

183 lines (149 loc) 5.22 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = exports.POST = exports.GET = void 0; var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator")); var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")); var _IdGenerator = _interopRequireDefault(require("../../util/IdGenerator")); var _eosjsEcc = _interopRequireDefault(require("eosjs-ecc")); // const baseUrl = `http://localhost:6547/v1/`; var baseUrl = "https://api.get-scatter.com/v1/"; var PROOF_KEY = 'EOS62b3WxfuRyP7JYaDbF3gr49joLWYpsF3kPmo2HPxPuGRDiRUwj'; var getHeaders = function getHeaders() { var proof = _IdGenerator["default"].text(64); return [proof, { 'Accept': 'application/json', 'Content-Type': 'application/json', proof: proof }]; }; // All API requests must come back signed with the known // public key associated with the Scatter API var validate = function validate(proof, res) { try { var signedProof = res.headers.get('proof'); if (!signedProof) throw 'Invalid API Request'; if (_eosjsEcc["default"].recover(signedProof, proof) !== PROOF_KEY) throw 'Invalid API Request'; return res.json(); } catch (e) { throw "Invalid API Request"; } }; var GET = function GET(route) { var _getHeaders = getHeaders(), _getHeaders2 = (0, _slicedToArray2["default"])(_getHeaders, 2), proof = _getHeaders2[0], headers = _getHeaders2[1]; return fetch("".concat(baseUrl).concat(route), { method: 'GET', mode: 'cors', headers: headers }).then(function (res) { return validate(proof, res); }); }; exports.GET = GET; var POST = function POST(route, data) { var _getHeaders3 = getHeaders(), _getHeaders4 = (0, _slicedToArray2["default"])(_getHeaders3, 2), proof = _getHeaders4[0], headers = _getHeaders4[1]; return fetch("".concat(baseUrl).concat(route), { method: 'POST', mode: 'cors', headers: headers, body: JSON.stringify(data) }).then(function (res) { return validate(proof, res); }); }; exports.POST = POST; var BackendApiService = /*#__PURE__*/ function () { function BackendApiService() { (0, _classCallCheck2["default"])(this, BackendApiService); } (0, _createClass2["default"])(BackendApiService, null, [{ key: "apps", // Add an array of applinks to filter only those results. value: function () { var _apps2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/ _regenerator["default"].mark(function _callee() { var _apps, _args = arguments; return _regenerator["default"].wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: _apps = _args.length > 0 && _args[0] !== undefined ? _args[0] : []; return _context.abrupt("return", POST("apps", { apps: _apps })); case 2: case "end": return _context.stop(); } } }, _callee); })); function apps() { return _apps2.apply(this, arguments); } return apps; }() // ACCOUNT CREATION }, { key: "checkMachineId", value: function () { var _checkMachineId = (0, _asyncToGenerator2["default"])( /*#__PURE__*/ _regenerator["default"].mark(function _callee2(id) { return _regenerator["default"].wrap(function _callee2$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: return _context2.abrupt("return", GET("machine/".concat(id))); case 1: case "end": return _context2.stop(); } } }, _callee2); })); function checkMachineId(_x) { return _checkMachineId.apply(this, arguments); } return checkMachineId; }() }, { key: "createAccount", value: function () { var _createAccount = (0, _asyncToGenerator2["default"])( /*#__PURE__*/ _regenerator["default"].mark(function _callee3(payload) { return _regenerator["default"].wrap(function _callee3$(_context3) { while (1) { switch (_context3.prev = _context3.next) { case 0: return _context3.abrupt("return", POST("create_bridge", payload)); case 1: case "end": return _context3.stop(); } } }, _callee3); })); function createAccount(_x2) { return _createAccount.apply(this, arguments); } return createAccount; }() }]); return BackendApiService; }(); exports["default"] = BackendApiService;