ng-ipa-library 0.4.8 → 0.4.9

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.
@@ -6,6 +6,7 @@ export class TokenInterceptor {
6
6
  constructor(authService, http) {
7
7
  this.authService = authService;
8
8
  this.http = http;
9
+ this.refresh = false;
9
10
  }
10
11
  intercept(request, next) {
11
12
  if (this.isException(request)) {
@@ -33,22 +34,28 @@ export class TokenInterceptor {
33
34
  }
34
35
  else {
35
36
  if (this.authService.currentUserUrl) {
36
- this.http
37
- .get(this.authService.currentUserUrl + `/api/users`, {
38
- headers: { Authorization: `Bearer ${token}` },
39
- })
40
- .subscribe((user) => {
41
- localStorage.removeItem('token');
42
- localStorage.setItem('token', user.token);
43
- });
37
+ if (this.refresh) {
38
+ this.http
39
+ .get(this.authService.currentUserUrl + `/api/users?refresh`, {
40
+ headers: { Authorization: `Bearer ${token}` },
41
+ })
42
+ .subscribe((user) => {
43
+ localStorage.setItem('token', user.token);
44
+ this.refresh = false;
45
+ setTimeout(() => {
46
+ this.refresh = true;
47
+ }, 25000);
48
+ });
49
+ }
44
50
  }
45
51
  else {
46
- throw new Error("provide current base user api url using this function authSerice.setCurrentUserUrl('https://...')");
52
+ throw new Error("provide current base user api url using this function authService.setCurrentUserUrl('https://...')");
47
53
  }
48
54
  }
49
55
  }
50
56
  isException(request) {
51
- if (request.url.includes('/api/users') && request.method === 'GET') {
57
+ if (request.url.includes('/api/users?refresh') &&
58
+ request.method === 'GET') {
52
59
  return true;
53
60
  }
54
61
  return false;
@@ -59,4 +66,4 @@ TokenInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", ver
59
66
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: TokenInterceptor, decorators: [{
60
67
  type: Injectable
61
68
  }], ctorParameters: function () { return [{ type: i1.AuthService }, { type: i2.HttpClient }]; } });
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4uaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1pcGEtbGlicmFyeS9zcmMvbGliL2NvcmUvaW50ZXJjZXB0b3JzL3Rva2VuLmludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFjM0MsTUFBTSxPQUFPLGdCQUFnQjtJQUMzQixZQUFvQixXQUF3QixFQUFVLElBQWdCO1FBQWxELGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQVUsU0FBSSxHQUFKLElBQUksQ0FBWTtJQUFHLENBQUM7SUFFMUUsU0FBUyxDQUNQLE9BQTZCLEVBQzdCLElBQWlCO1FBRWpCLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUM3QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDN0I7UUFDRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzFDLElBQUksS0FBSyxFQUFFO1lBQ1QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMzQixPQUFPLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztnQkFDdEIsVUFBVSxFQUFFO29CQUNWLGFBQWEsRUFBRSxVQUFVLEtBQUssRUFBRTtpQkFDakM7YUFDRixDQUFDLENBQUM7U0FDSjtRQUNELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRU8sY0FBYyxDQUFDLEtBQWE7O1FBQ2xDLE1BQU0sWUFBWSxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUM7UUFDdkMsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLEVBQWtCLENBQUM7UUFDeEUsTUFBTSxPQUFPLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxNQUFBLFlBQVksQ0FBQyxHQUFHLG1DQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQ3pELElBQUksT0FBTyxHQUFHLElBQUksSUFBSSxFQUFFLEVBQUU7WUFDeEIsUUFBUSxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsR0FBRyxZQUFZLENBQUMsQ0FBQztZQUN2RCxPQUFPO1NBQ1I7YUFBTTtZQUNMLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLEVBQUU7Z0JBQ25DLElBQUksQ0FBQyxJQUFJO3FCQUNOLEdBQUcsQ0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsR0FBRyxZQUFZLEVBQUU7b0JBQ3pELE9BQU8sRUFBRSxFQUFFLGFBQWEsRUFBRSxVQUFVLEtBQUssRUFBRSxFQUFFO2lCQUM5QyxDQUFDO3FCQUNELFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO29CQUNsQixZQUFZLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO29CQUNqQyxZQUFZLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzVDLENBQUMsQ0FBQyxDQUFDO2FBQ047aUJBQU07Z0JBQ0wsTUFBTSxJQUFJLEtBQUssQ0FDYixtR0FBbUcsQ0FDcEcsQ0FBQzthQUNIO1NBQ0Y7SUFDSCxDQUFDO0lBRU8sV0FBVyxDQUFDLE9BQXlCO1FBQzNDLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxLQUFLLEVBQUU7WUFDbEUsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs7NkdBcERVLGdCQUFnQjtpSEFBaEIsZ0JBQWdCOzJGQUFoQixnQkFBZ0I7a0JBRDVCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBIdHRwUmVxdWVzdCxcbiAgSHR0cEhhbmRsZXIsXG4gIEh0dHBFdmVudCxcbiAgSHR0cEludGVyY2VwdG9yLFxuICBIdHRwQ2xpZW50LFxufSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2F1dGguc2VydmljZSc7XG5pbXBvcnQgeyBEZWNvZGVkVG9rZW4gfSBmcm9tICcuLi8uLi9tb2RlbHMvZGVjb2RlZFRva2VuLm1vZGVsJztcbmltcG9ydCB7IFVzZXIgfSBmcm9tICcuLi8uLi9tb2RlbHMvdXNlci5tb2RlbCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUb2tlbkludGVyY2VwdG9yIGltcGxlbWVudHMgSHR0cEludGVyY2VwdG9yIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCkge31cblxuICBpbnRlcmNlcHQoXG4gICAgcmVxdWVzdDogSHR0cFJlcXVlc3Q8dW5rbm93bj4sXG4gICAgbmV4dDogSHR0cEhhbmRsZXJcbiAgKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8dW5rbm93bj4+IHtcbiAgICBpZiAodGhpcy5pc0V4Y2VwdGlvbihyZXF1ZXN0KSkge1xuICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcXVlc3QpO1xuICAgIH1cbiAgICBjb25zdCB0b2tlbiA9IHRoaXMuYXV0aFNlcnZpY2UuZ2V0VG9rZW4oKTtcbiAgICBpZiAodG9rZW4pIHtcbiAgICAgIHRoaXMuaXNUb2tlbkV4cGlyZWQodG9rZW4pO1xuICAgICAgcmVxdWVzdCA9IHJlcXVlc3QuY2xvbmUoe1xuICAgICAgICBzZXRIZWFkZXJzOiB7XG4gICAgICAgICAgQXV0aG9yaXphdGlvbjogYEJlYXJlciAke3Rva2VufWAsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcXVlc3QpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1Rva2VuRXhwaXJlZCh0b2tlbjogc3RyaW5nKSB7XG4gICAgY29uc3QgcmVkaXJlY3RQYXRoID0gbG9jYXRpb24ucGF0aG5hbWU7XG4gICAgY29uc3QgZGVjb2RlZFRva2VuID0gdGhpcy5hdXRoU2VydmljZS5nZXREZWNvZGVkVG9rZW4oKSBhcyBEZWNvZGVkVG9rZW47XG4gICAgY29uc3QgZXhwRGF0ZSA9IG5ldyBEYXRlKChkZWNvZGVkVG9rZW4uZXhwID8/IDApICogMTAwMCk7XG4gICAgaWYgKGV4cERhdGUgPCBuZXcgRGF0ZSgpKSB7XG4gICAgICBsb2NhdGlvbi5yZXBsYWNlKCcvYXIvbG9naW4/cmVkaXJlY3Q9JyArIHJlZGlyZWN0UGF0aCk7XG4gICAgICByZXR1cm47XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aGlzLmF1dGhTZXJ2aWNlLmN1cnJlbnRVc2VyVXJsKSB7XG4gICAgICAgIHRoaXMuaHR0cFxuICAgICAgICAgIC5nZXQ8VXNlcj4odGhpcy5hdXRoU2VydmljZS5jdXJyZW50VXNlclVybCArIGAvYXBpL3VzZXJzYCwge1xuICAgICAgICAgICAgaGVhZGVyczogeyBBdXRob3JpemF0aW9uOiBgQmVhcmVyICR7dG9rZW59YCB9LFxuICAgICAgICAgIH0pXG4gICAgICAgICAgLnN1YnNjcmliZSgodXNlcikgPT4ge1xuICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oJ3Rva2VuJyk7XG4gICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgndG9rZW4nLCB1c2VyLnRva2VuKTtcbiAgICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBcInByb3ZpZGUgY3VycmVudCBiYXNlIHVzZXIgYXBpIHVybCB1c2luZyB0aGlzIGZ1bmN0aW9uIGF1dGhTZXJpY2Uuc2V0Q3VycmVudFVzZXJVcmwoJ2h0dHBzOi8vLi4uJylcIlxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaXNFeGNlcHRpb24ocmVxdWVzdDogSHR0cFJlcXVlc3Q8YW55Pik6IGJvb2xlYW4ge1xuICAgIGlmIChyZXF1ZXN0LnVybC5pbmNsdWRlcygnL2FwaS91c2VycycpICYmIHJlcXVlc3QubWV0aG9kID09PSAnR0VUJykge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuIl19
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4uaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1pcGEtbGlicmFyeS9zcmMvbGliL2NvcmUvaW50ZXJjZXB0b3JzL3Rva2VuLmludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFjM0MsTUFBTSxPQUFPLGdCQUFnQjtJQUUzQixZQUFvQixXQUF3QixFQUFVLElBQWdCO1FBQWxELGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQVUsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUR0RSxZQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ3lELENBQUM7SUFFMUUsU0FBUyxDQUNQLE9BQTZCLEVBQzdCLElBQWlCO1FBRWpCLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUM3QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDN0I7UUFDRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzFDLElBQUksS0FBSyxFQUFFO1lBQ1QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMzQixPQUFPLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztnQkFDdEIsVUFBVSxFQUFFO29CQUNWLGFBQWEsRUFBRSxVQUFVLEtBQUssRUFBRTtpQkFDakM7YUFDRixDQUFDLENBQUM7U0FDSjtRQUNELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRU8sY0FBYyxDQUFDLEtBQWE7O1FBQ2xDLE1BQU0sWUFBWSxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUM7UUFDdkMsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLEVBQWtCLENBQUM7UUFDeEUsTUFBTSxPQUFPLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxNQUFBLFlBQVksQ0FBQyxHQUFHLG1DQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQ3pELElBQUksT0FBTyxHQUFHLElBQUksSUFBSSxFQUFFLEVBQUU7WUFDeEIsUUFBUSxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsR0FBRyxZQUFZLENBQUMsQ0FBQztZQUN2RCxPQUFPO1NBQ1I7YUFBTTtZQUNMLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLEVBQUU7Z0JBQ25DLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtvQkFDaEIsSUFBSSxDQUFDLElBQUk7eUJBQ04sR0FBRyxDQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxHQUFHLG9CQUFvQixFQUFFO3dCQUNqRSxPQUFPLEVBQUUsRUFBRSxhQUFhLEVBQUUsVUFBVSxLQUFLLEVBQUUsRUFBRTtxQkFDOUMsQ0FBQzt5QkFDRCxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTt3QkFDbEIsWUFBWSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO3dCQUMxQyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQzt3QkFDckIsVUFBVSxDQUFDLEdBQUcsRUFBRTs0QkFDZCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQzt3QkFDdEIsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO29CQUNaLENBQUMsQ0FBQyxDQUFDO2lCQUNOO2FBQ0Y7aUJBQU07Z0JBQ0wsTUFBTSxJQUFJLEtBQUssQ0FDYixvR0FBb0csQ0FDckcsQ0FBQzthQUNIO1NBQ0Y7SUFDSCxDQUFDO0lBRU8sV0FBVyxDQUFDLE9BQXlCO1FBQzNDLElBQ0UsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsb0JBQW9CLENBQUM7WUFDMUMsT0FBTyxDQUFDLE1BQU0sS0FBSyxLQUFLLEVBQ3hCO1lBQ0EsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs7NkdBN0RVLGdCQUFnQjtpSEFBaEIsZ0JBQWdCOzJGQUFoQixnQkFBZ0I7a0JBRDVCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgSHR0cFJlcXVlc3QsXHJcbiAgSHR0cEhhbmRsZXIsXHJcbiAgSHR0cEV2ZW50LFxyXG4gIEh0dHBJbnRlcmNlcHRvcixcclxuICBIdHRwQ2xpZW50LFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2F1dGguc2VydmljZSc7XHJcbmltcG9ydCB7IERlY29kZWRUb2tlbiB9IGZyb20gJy4uLy4uL21vZGVscy9kZWNvZGVkVG9rZW4ubW9kZWwnO1xyXG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3VzZXIubW9kZWwnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgVG9rZW5JbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XHJcbiAgcmVmcmVzaCA9IGZhbHNlO1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLCBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQpIHt9XHJcblxyXG4gIGludGVyY2VwdChcclxuICAgIHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PHVua25vd24+LFxyXG4gICAgbmV4dDogSHR0cEhhbmRsZXJcclxuICApOiBPYnNlcnZhYmxlPEh0dHBFdmVudDx1bmtub3duPj4ge1xyXG4gICAgaWYgKHRoaXMuaXNFeGNlcHRpb24ocmVxdWVzdCkpIHtcclxuICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcXVlc3QpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgdG9rZW4gPSB0aGlzLmF1dGhTZXJ2aWNlLmdldFRva2VuKCk7XHJcbiAgICBpZiAodG9rZW4pIHtcclxuICAgICAgdGhpcy5pc1Rva2VuRXhwaXJlZCh0b2tlbik7XHJcbiAgICAgIHJlcXVlc3QgPSByZXF1ZXN0LmNsb25lKHtcclxuICAgICAgICBzZXRIZWFkZXJzOiB7XHJcbiAgICAgICAgICBBdXRob3JpemF0aW9uOiBgQmVhcmVyICR7dG9rZW59YCxcclxuICAgICAgICB9LFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXF1ZXN0KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaXNUb2tlbkV4cGlyZWQodG9rZW46IHN0cmluZykge1xyXG4gICAgY29uc3QgcmVkaXJlY3RQYXRoID0gbG9jYXRpb24ucGF0aG5hbWU7XHJcbiAgICBjb25zdCBkZWNvZGVkVG9rZW4gPSB0aGlzLmF1dGhTZXJ2aWNlLmdldERlY29kZWRUb2tlbigpIGFzIERlY29kZWRUb2tlbjtcclxuICAgIGNvbnN0IGV4cERhdGUgPSBuZXcgRGF0ZSgoZGVjb2RlZFRva2VuLmV4cCA/PyAwKSAqIDEwMDApO1xyXG4gICAgaWYgKGV4cERhdGUgPCBuZXcgRGF0ZSgpKSB7XHJcbiAgICAgIGxvY2F0aW9uLnJlcGxhY2UoJy9hci9sb2dpbj9yZWRpcmVjdD0nICsgcmVkaXJlY3RQYXRoKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKHRoaXMuYXV0aFNlcnZpY2UuY3VycmVudFVzZXJVcmwpIHtcclxuICAgICAgICBpZiAodGhpcy5yZWZyZXNoKSB7XHJcbiAgICAgICAgICB0aGlzLmh0dHBcclxuICAgICAgICAgICAgLmdldDxVc2VyPih0aGlzLmF1dGhTZXJ2aWNlLmN1cnJlbnRVc2VyVXJsICsgYC9hcGkvdXNlcnM/cmVmcmVzaGAsIHtcclxuICAgICAgICAgICAgICBoZWFkZXJzOiB7IEF1dGhvcml6YXRpb246IGBCZWFyZXIgJHt0b2tlbn1gIH0sXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHVzZXIpID0+IHtcclxuICAgICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgndG9rZW4nLCB1c2VyLnRva2VuKTtcclxuICAgICAgICAgICAgICB0aGlzLnJlZnJlc2ggPSBmYWxzZTtcclxuICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMucmVmcmVzaCA9IHRydWU7XHJcbiAgICAgICAgICAgICAgfSwgMjUwMDApO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxyXG4gICAgICAgICAgXCJwcm92aWRlIGN1cnJlbnQgYmFzZSB1c2VyIGFwaSB1cmwgdXNpbmcgdGhpcyBmdW5jdGlvbiBhdXRoU2VydmljZS5zZXRDdXJyZW50VXNlclVybCgnaHR0cHM6Ly8uLi4nKVwiXHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpc0V4Y2VwdGlvbihyZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+KTogYm9vbGVhbiB7XHJcbiAgICBpZiAoXHJcbiAgICAgIHJlcXVlc3QudXJsLmluY2x1ZGVzKCcvYXBpL3VzZXJzP3JlZnJlc2gnKSAmJlxyXG4gICAgICByZXF1ZXN0Lm1ldGhvZCA9PT0gJ0dFVCdcclxuICAgICkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcbn1cclxuIl19
@@ -1143,6 +1143,7 @@ class TokenInterceptor {
1143
1143
  constructor(authService, http) {
1144
1144
  this.authService = authService;
1145
1145
  this.http = http;
1146
+ this.refresh = false;
1146
1147
  }
1147
1148
  intercept(request, next) {
1148
1149
  if (this.isException(request)) {
@@ -1170,22 +1171,28 @@ class TokenInterceptor {
1170
1171
  }
1171
1172
  else {
1172
1173
  if (this.authService.currentUserUrl) {
1173
- this.http
1174
- .get(this.authService.currentUserUrl + `/api/users`, {
1175
- headers: { Authorization: `Bearer ${token}` },
1176
- })
1177
- .subscribe((user) => {
1178
- localStorage.removeItem('token');
1179
- localStorage.setItem('token', user.token);
1180
- });
1174
+ if (this.refresh) {
1175
+ this.http
1176
+ .get(this.authService.currentUserUrl + `/api/users?refresh`, {
1177
+ headers: { Authorization: `Bearer ${token}` },
1178
+ })
1179
+ .subscribe((user) => {
1180
+ localStorage.setItem('token', user.token);
1181
+ this.refresh = false;
1182
+ setTimeout(() => {
1183
+ this.refresh = true;
1184
+ }, 25000);
1185
+ });
1186
+ }
1181
1187
  }
1182
1188
  else {
1183
- throw new Error("provide current base user api url using this function authSerice.setCurrentUserUrl('https://...')");
1189
+ throw new Error("provide current base user api url using this function authService.setCurrentUserUrl('https://...')");
1184
1190
  }
1185
1191
  }
1186
1192
  }
1187
1193
  isException(request) {
1188
- if (request.url.includes('/api/users') && request.method === 'GET') {
1194
+ if (request.url.includes('/api/users?refresh') &&
1195
+ request.method === 'GET') {
1189
1196
  return true;
1190
1197
  }
1191
1198
  return false;