moose-remote-components
Version:
Figuring out how to export components onto npm, to be used in other projects
149 lines (126 loc) • 12.3 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _axios = _interopRequireDefault(require("axios"));
var _jwtDecode = _interopRequireDefault(require("jwt-decode"));
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; }
var Auth =
/*#__PURE__*/
function () {
function Auth() {
_classCallCheck(this, Auth);
// Add a request interceptor
_axios["default"].interceptors.request.use(function (request) {
// hacky way to avoid adding header on external requests
if (!request.url.includes("http")) request.headers.Authorization = "bearer ".concat(localStorage.getItem('giggz-user-tkn'));
return request;
}, function (error) {
console.log(error);
return Promise.reject(error);
}); // Add a response interceptor
_axios["default"].interceptors.response.use(function (response) {
return response;
}, function (error) {
//ts.logout();
console.log(error);
return Promise.reject(error);
});
}
_createClass(Auth, [{
key: "register",
value: function () {
var _register = _asyncToGenerator(
/*#__PURE__*/
regeneratorRuntime.mark(function _callee(body, success, fail) {
return regeneratorRuntime.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
console.log("registering...");
_context.next = 3;
return _axios["default"].post('/auth/register', body).then(function (res) {
return success(res);
})["catch"](function (err) {
return fail(err.response.data);
});
case 3:
case "end":
return _context.stop();
}
}
}, _callee);
}));
function register(_x, _x2, _x3) {
return _register.apply(this, arguments);
}
return register;
}()
}, {
key: "login",
value: function () {
var _login = _asyncToGenerator(
/*#__PURE__*/
regeneratorRuntime.mark(function _callee2(body, success, fail) {
return regeneratorRuntime.wrap(function _callee2$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
case 0:
console.log("logging in...");
console.log(body);
_context2.next = 4;
return _axios["default"].post('/auth/login', body).then(function (res) {
localStorage.setItem('giggz-user-tkn', res.data.token);
return success ? success(res) : null;
})["catch"](function (err) {
return fail ? fail(err) : null;
});
case 4:
case "end":
return _context2.stop();
}
}
}, _callee2);
}));
function login(_x4, _x5, _x6) {
return _login.apply(this, arguments);
}
return login;
}()
}, {
key: "logout",
value: function logout() {
// so far only client side logout is setup for JTW
// may want to implement a redis stored backlist per user in the future for server side logouts.
console.log("logging out...");
localStorage.setItem('giggz-user-tkn', null);
window.location.href = "/";
}
}, {
key: "getCachedUser",
value: function getCachedUser() {
if (!this.isAuthenticated()) return {};
var token = localStorage.getItem('giggz-user-tkn');
var user = (0, _jwtDecode["default"])(token).user;
user.firstname = user.firstname.substring(0, 1) + user.firstname.substring(1).toLowerCase();
user.lastname = user.lastname.substring(0, 1) + user.lastname.substring(1).toLowerCase();
user.email = user.email.toLowerCase();
return user;
}
}, {
key: "isAuthenticated",
value: function isAuthenticated() {
return localStorage.getItem('giggz-user-tkn') !== null && localStorage.getItem('giggz-user-tkn') !== "null";
}
}]);
return Auth;
}();
var _default = new Auth();
exports["default"] = _default;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9hdXRoLmpzIl0sIm5hbWVzIjpbIkF1dGgiLCJheGlvcyIsImludGVyY2VwdG9ycyIsInJlcXVlc3QiLCJ1c2UiLCJ1cmwiLCJpbmNsdWRlcyIsImhlYWRlcnMiLCJBdXRob3JpemF0aW9uIiwibG9jYWxTdG9yYWdlIiwiZ2V0SXRlbSIsImVycm9yIiwiY29uc29sZSIsImxvZyIsIlByb21pc2UiLCJyZWplY3QiLCJyZXNwb25zZSIsImJvZHkiLCJzdWNjZXNzIiwiZmFpbCIsInBvc3QiLCJ0aGVuIiwicmVzIiwiZXJyIiwiZGF0YSIsInNldEl0ZW0iLCJ0b2tlbiIsIndpbmRvdyIsImxvY2F0aW9uIiwiaHJlZiIsImlzQXV0aGVudGljYXRlZCIsInVzZXIiLCJmaXJzdG5hbWUiLCJzdWJzdHJpbmciLCJ0b0xvd2VyQ2FzZSIsImxhc3RuYW1lIiwiZW1haWwiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFDQTs7Ozs7Ozs7Ozs7Ozs7SUFFTUEsSTs7O0FBQ0wsa0JBQWM7QUFBQTs7QUFFYjtBQUNBQyxzQkFBTUMsWUFBTixDQUFtQkMsT0FBbkIsQ0FBMkJDLEdBQTNCLENBQStCLFVBQVVELE9BQVYsRUFBbUI7QUFFakQ7QUFDQSxVQUFJLENBQUNBLE9BQU8sQ0FBQ0UsR0FBUixDQUFZQyxRQUFaLENBQXFCLE1BQXJCLENBQUwsRUFDQ0gsT0FBTyxDQUFDSSxPQUFSLENBQWdCQyxhQUFoQixvQkFBMENDLFlBQVksQ0FBQ0MsT0FBYixDQUFxQixnQkFBckIsQ0FBMUM7QUFFRCxhQUFPUCxPQUFQO0FBQ0EsS0FQRCxFQU9HLFVBQVVRLEtBQVYsRUFBaUI7QUFDbkJDLE1BQUFBLE9BQU8sQ0FBQ0MsR0FBUixDQUFZRixLQUFaO0FBQ0EsYUFBT0csT0FBTyxDQUFDQyxNQUFSLENBQWVKLEtBQWYsQ0FBUDtBQUNBLEtBVkQsRUFIYSxDQWViOzs7QUFDQVYsc0JBQU1DLFlBQU4sQ0FBbUJjLFFBQW5CLENBQTRCWixHQUE1QixDQUFn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bSAnYXhpb3MnO1xuaW1wb3J0IGp3dF9kZWNvZGUgZnJvbSAnand0LWRlY29kZSc7XG5cbmNsYXNzIEF1dGgge1xuXHRjb25zdHJ1Y3RvcigpIHtcblxuXHRcdC8vIEFkZCBhIHJlcXVlc3QgaW50ZXJjZXB0b3Jcblx0XHRheGlvcy5pbnRlcmNlcHRvcnMucmVxdWVzdC51c2UoZnVuY3Rpb24gKHJlcXVlc3QpIHtcblxuXHRcdFx0Ly8gaGFja3kgd2F5IHRvIGF2b2lkIGFkZGluZyBoZWFkZXIgb24gZXh0ZXJuYWwgcmVxdWVzdHNcblx0XHRcdGlmICghcmVxdWVzdC51cmwuaW5jbHVkZXMoXCJodHRwXCIpKVxuXHRcdFx0XHRyZXF1ZXN0LmhlYWRlcnMuQXV0aG9yaXphdGlvbiA9IGBiZWFyZXIgJHtsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnZ2lnZ3otdXNlci10a24nKX1gO1xuXG5cdFx0XHRyZXR1cm4gcmVxdWVzdDtcblx0XHR9LCBmdW5jdGlvbiAoZXJyb3IpIHtcblx0XHRcdGNvbnNvbGUubG9nKGVycm9yKTtcblx0XHRcdHJldHVybiBQcm9taXNlLnJlamVjdChlcnJvcik7XG5cdFx0fSk7XG5cblx0XHQvLyBBZGQgYSByZXNwb25zZSBpbnRlcmNlcHRvclxuXHRcdGF4aW9zLmludGVyY2VwdG9ycy5yZXNwb25zZS51c2UoZnVuY3Rpb24gKHJlc3BvbnNlKSB7XG5cdFx0XHRyZXR1cm4gcmVzcG9uc2U7XG5cdFx0fSwgZnVuY3Rpb24gKGVycm9yKSB7XG5cdFx0XHQvL3RzLmxvZ291dCgpO1xuXHRcdFx0Y29uc29sZS5sb2coZXJyb3IpO1xuXHRcdFx0cmV0dXJuIFByb21pc2UucmVqZWN0KGVycm9yKTtcblx0XHR9KTtcblx0fVxuXG5cdGFzeW5jIHJlZ2lzdGVyKGJvZHksIHN1Y2Nlc3MsIGZhaWwpIHtcblx0XHRjb25zb2xlLmxvZyhcInJlZ2lzdGVyaW5nLi4uXCIpO1xuXHRcdGF3YWl0IGF4aW9zLnBvc3QoJy9hdXRoL3JlZ2lzdGVyJywgYm9keSlcblx0XHRcdC50aGVuKHJlcyA9PiB7XG5cdFx0XHRcdHJldHVybiBzdWNjZXNzKHJlcyk7XG5cdFx0XHR9KVxuXHRcdFx0LmNhdGNoKGVyciA9PiB7XG5cdFx0XHRcdHJldHVybiBmYWlsKGVyci5yZXNwb25zZS5kYXRhKTtcblx0XHRcdH0pXG5cdH1cblxuXHRhc3luYyBsb2dpbihib2R5LCBzdWNjZXNzLCBmYWlsKSB7XG5cdFx0Y29uc29sZS5sb2coXCJsb2dnaW5nIGluLi4uXCIpO1xuXHRcdGNvbnNvbGUubG9nKGJvZHkpO1xuXHRcdGF3YWl0IGF4aW9zLnBvc3QoJy9hdXRoL2xvZ2luJywgYm9keSlcblx0XHRcdC50aGVuKHJlcyA9PiB7XG5cdFx0XHRcdGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdnaWdnei11c2VyLXRrbicsIHJlcy5kYXRhLnRva2VuKTtcblx0XHRcdFx0cmV0dXJuIHN1Y2Nlc3MgPyBzdWNjZXNzKHJlcykgOiBudWxsO1xuXHRcdFx0fSlcblx0XHRcdC5jYXRjaChlcnIgPT4gZmFpbCA/IGZhaWwoZXJyKSA6IG51bGwpO1xuXHR9XG5cblx0bG9nb3V0KCkge1xuXHRcdC8vIHNvIGZhciBvbmx5IGNsaWVudCBzaWRlIGxvZ291dCBpcyBzZXR1cCBmb3IgSlRXXG5cdFx0Ly8gbWF5IHdhbnQgdG8gaW1wbGVtZW50IGEgcmVkaXMgc3RvcmVkIGJhY2tsaXN0IHBlciB1c2VyIGluIHRoZSBmdXR1cmUgZm9yIHNlcnZlciBzaWRlIGxvZ291dHMuXG5cdFx0Y29uc29sZS5sb2coXCJsb2dnaW5nIG91dC4uLlwiKTtcblx0XHRsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnZ2lnZ3otdXNlci10a24nLCBudWxsKTtcblx0XHR3aW5kb3cubG9jYXRpb24uaHJlZiA9IFwiL1wiO1xuXHR9XG5cblx0Z2V0Q2FjaGVkVXNlcigpIHtcblx0XHRpZiAoIXRoaXMuaXNBdXRoZW50aWNhdGVkKCkpIHJldHVybiB7fTtcblx0XHRsZXQgdG9rZW4gPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnZ2lnZ3otdXNlci10a24nKTtcblx0XHRsZXQgdXNlciA9IGp3dF9kZWNvZGUodG9rZW4pLnVzZXI7XG5cdFx0dXNlci5maXJzdG5hbWUgPSB1c2VyLmZpcnN0bmFtZS5zdWJzdHJpbmcoMCwxKSArIHVzZXIuZmlyc3RuYW1lLnN1YnN0cmluZygxKS50b0xvd2VyQ2FzZSgpO1xuXHRcdHVzZXIubGFzdG5hbWUgPSB1c2VyLmxhc3RuYW1lLnN1YnN0cmluZygwLCAxKSArIHVzZXIubGFzdG5hbWUuc3Vic3RyaW5nKDEpLnRvTG93ZXJDYXNlKCk7XG5cdFx0dXNlci5lbWFpbCA9IHVzZXIuZW1haWwudG9Mb3dlckNhc2UoKTtcblx0XHRyZXR1cm4gdXNlcjtcblx0fVxuXG5cdGlzQXV0aGVudGljYXRlZCgpIHtcblx0XHRyZXR1cm4gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2dpZ2d6LXVzZXItdGtuJykgIT09IG51bGwgJiYgbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2dpZ2d6LXVzZXItdGtuJykgIT09IFwibnVsbFwiOyBcblx0fVxufVxuXG5leHBvcnQgZGVmYXVsdCBuZXcgQXV0aCgpOyJdfQ==