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: "
|
|
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
|
|
71
|
-
var
|
|
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 =
|
|
97
|
+
_context.next = 2;
|
|
78
98
|
break;
|
|
79
99
|
}
|
|
80
100
|
return _context.abrupt("return");
|
|
81
|
-
case
|
|
82
|
-
|
|
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
|
|
106
|
+
var _this2$_onTokenRefres;
|
|
123
107
|
var res = r.body.results;
|
|
124
108
|
var token = res.token;
|
|
125
|
-
|
|
126
|
-
|
|
109
|
+
_this2._refreshToken = res.refresh_token;
|
|
110
|
+
_this2._http.setToken(res.token);
|
|
127
111
|
if (res.token_expires_at != null) {
|
|
128
|
-
|
|
112
|
+
_this2._expiredAt = new Date(res.token_expires_at);
|
|
129
113
|
}
|
|
130
114
|
|
|
131
115
|
// @ts-ignore
|
|
132
|
-
(
|
|
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
|
|
120
|
+
case 3:
|
|
136
121
|
case "end":
|
|
137
|
-
return
|
|
122
|
+
return _context.stop();
|
|
138
123
|
}
|
|
139
|
-
},
|
|
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
|
|
150
|
-
return _regenerator["default"].wrap(function
|
|
151
|
-
while (1) switch (
|
|
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
|
|
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
|
|
144
|
+
return _context2.stop();
|
|
160
145
|
}
|
|
161
|
-
},
|
|
146
|
+
}, _callee2, this);
|
|
162
147
|
}));
|
|
163
148
|
function logout() {
|
|
164
149
|
return _logout.apply(this, arguments);
|