qiscus-sdk-core 2.13.2 → 2.13.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -60,83 +60,68 @@ var ExpiredTokenAdapter = exports.ExpiredTokenAdapter = /*#__PURE__*/function ()
60
60
  this._expiredAt = new Date(expiredAt);
61
61
  }
62
62
  this._isExpiredTokenEnabled = this._refreshToken != null && this._expiredAt != null;
63
-
64
- // this._timerId = setInterval(this._checkToken, 1000)
65
- this._checkToken();
63
+ this._setTimer(this._expiredAt);
66
64
  }
65
+
66
+ /**
67
+ * @param {Date | null} expiredAt
68
+ *
69
+ * Sets a timer to refresh the authentication token when it expires.
70
+ * If the token is already expired, it will immediately trigger the refresh.
71
+ */
67
72
  return (0, _createClass2["default"])(ExpiredTokenAdapter, [{
68
- key: "_checkToken",
73
+ key: "_setTimer",
74
+ value: function _setTimer(expiredAt) {
75
+ var _expiredAt$getTime,
76
+ _this = this;
77
+ if (this._timerId != null) {
78
+ clearTimeout(this._timerId);
79
+ this._timerId = null;
80
+ }
81
+ var delay = Math.floor(((_expiredAt$getTime = expiredAt === null || expiredAt === void 0 ? void 0 : expiredAt.getTime()) !== null && _expiredAt$getTime !== void 0 ? _expiredAt$getTime : NaN) - Date.now());
82
+ if (!isNaN(delay) && delay > 0) {
83
+ this._timerId = setTimeout(function () {
84
+ _this.refreshAuthToken();
85
+ }, delay);
86
+ }
87
+ }
88
+ }, {
89
+ key: "refreshAuthToken",
69
90
  value: function () {
70
- var _checkToken2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
71
- var timeToSleep, now, diff;
91
+ var _refreshAuthToken = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
92
+ var _this2 = this;
72
93
  return _regenerator["default"].wrap(function _callee$(_context) {
73
94
  while (1) switch (_context.prev = _context.next) {
74
95
  case 0:
75
- timeToSleep = 5000; // 5 seconds
76
96
  if (!(this._getAuthenticationStatus() == false || this._refreshToken == null)) {
77
- _context.next = 3;
97
+ _context.next = 2;
78
98
  break;
79
99
  }
80
100
  return _context.abrupt("return");
81
- case 3:
82
- if (!(this._expiredAt != null && this._isExpiredTokenEnabled)) {
83
- _context.next = 9;
84
- break;
85
- }
86
- now = Date.now(); // @ts-ignore
87
- diff = Math.floor((this._expiredAt - now) / 1000); // console.log('diff', diff)
88
- if (!(diff < timeToSleep / 1000)) {
89
- _context.next = 9;
90
- break;
91
- }
92
- _context.next = 9;
93
- return this.refreshAuthToken();
94
- case 9:
95
- _context.next = 11;
96
- return (0, _util.sleep)(timeToSleep);
97
- case 11:
98
- this._checkToken();
99
- case 12:
100
- case "end":
101
- return _context.stop();
102
- }
103
- }, _callee, this);
104
- }));
105
- function _checkToken() {
106
- return _checkToken2.apply(this, arguments);
107
- }
108
- return _checkToken;
109
- }()
110
- }, {
111
- key: "refreshAuthToken",
112
- value: function () {
113
- var _refreshAuthToken = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2() {
114
- var _this = this;
115
- return _regenerator["default"].wrap(function _callee2$(_context2) {
116
- while (1) switch (_context2.prev = _context2.next) {
117
- case 0:
118
- return _context2.abrupt("return", this._http.post('api/v2/sdk/refresh_user_token', {
101
+ case 2:
102
+ return _context.abrupt("return", this._http.post('api/v2/sdk/refresh_user_token', {
119
103
  user_id: this._userId,
120
104
  refresh_token: this._refreshToken
121
105
  }).then(function (r) {
122
- var _this$_onTokenRefresh;
106
+ var _this2$_onTokenRefres;
123
107
  var res = r.body.results;
124
108
  var token = res.token;
125
- _this._refreshToken = res.refresh_token;
126
- _this._http.setToken(res.token);
109
+ _this2._refreshToken = res.refresh_token;
110
+ _this2._http.setToken(res.token);
127
111
  if (res.token_expires_at != null) {
128
- _this._expiredAt = new Date(res.token_expires_at);
112
+ _this2._expiredAt = new Date(res.token_expires_at);
129
113
  }
130
114
 
131
115
  // @ts-ignore
132
- (_this$_onTokenRefresh = _this._onTokenRefreshed) === null || _this$_onTokenRefresh === void 0 || _this$_onTokenRefresh.call(_this, token, _this._refreshToken, _this._expiredAt);
116
+ (_this2$_onTokenRefres = _this2._onTokenRefreshed) === null || _this2$_onTokenRefres === void 0 || _this2$_onTokenRefres.call(_this2, token, _this2._refreshToken, _this2._expiredAt);
117
+ _this2._setTimer(_this2._expiredAt);
133
118
  return res;
134
119
  }));
135
- case 1:
120
+ case 3:
136
121
  case "end":
137
- return _context2.stop();
122
+ return _context.stop();
138
123
  }
139
- }, _callee2, this);
124
+ }, _callee, this);
140
125
  }));
141
126
  function refreshAuthToken() {
142
127
  return _refreshAuthToken.apply(this, arguments);
@@ -146,19 +131,19 @@ var ExpiredTokenAdapter = exports.ExpiredTokenAdapter = /*#__PURE__*/function ()
146
131
  }, {
147
132
  key: "logout",
148
133
  value: function () {
149
- var _logout = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3() {
150
- return _regenerator["default"].wrap(function _callee3$(_context3) {
151
- while (1) switch (_context3.prev = _context3.next) {
134
+ var _logout = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2() {
135
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
136
+ while (1) switch (_context2.prev = _context2.next) {
152
137
  case 0:
153
- return _context3.abrupt("return", this._http.post('api/v2/sdk/logout', {
138
+ return _context2.abrupt("return", this._http.post('api/v2/sdk/logout', {
154
139
  user_id: this._userId,
155
140
  token: this._http.token
156
141
  }));
157
142
  case 1:
158
143
  case "end":
159
- return _context3.stop();
144
+ return _context2.stop();
160
145
  }
161
- }, _callee3, this);
146
+ }, _callee2, this);
162
147
  }));
163
148
  function logout() {
164
149
  return _logout.apply(this, arguments);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "qiscus-sdk-core",
3
- "version": "2.13.2",
3
+ "version": "2.13.3",
4
4
  "description": "Qiscus Web SDK Core",
5
5
  "license": "MIT",
6
6
  "main": "lib/index.js",