ng-ipa-library 0.4.5 → 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.
- package/bundles/ng-ipa-library.umd.js +19 -10
- package/bundles/ng-ipa-library.umd.js.map +1 -1
- package/esm2015/lib/core/interceptors/token.interceptor.js +18 -10
- package/esm2015/lib/services/common.service.js +4 -1
- package/fesm2015/ng-ipa-library.js +20 -9
- package/fesm2015/ng-ipa-library.js.map +1 -1
- package/lib/core/interceptors/token.interceptor.d.ts +1 -0
- package/package.json +1 -1
|
@@ -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,21 +34,28 @@ export class TokenInterceptor {
|
|
|
33
34
|
}
|
|
34
35
|
else {
|
|
35
36
|
if (this.authService.currentUserUrl) {
|
|
36
|
-
this.
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
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
|
+
}
|
|
43
50
|
}
|
|
44
51
|
else {
|
|
45
|
-
throw new Error("provide current base user api url using this function
|
|
52
|
+
throw new Error("provide current base user api url using this function authService.setCurrentUserUrl('https://...')");
|
|
46
53
|
}
|
|
47
54
|
}
|
|
48
55
|
}
|
|
49
56
|
isException(request) {
|
|
50
|
-
if (request.url.includes('/api/users') &&
|
|
57
|
+
if (request.url.includes('/api/users?refresh') &&
|
|
58
|
+
request.method === 'GET') {
|
|
51
59
|
return true;
|
|
52
60
|
}
|
|
53
61
|
return false;
|
|
@@ -58,4 +66,4 @@ TokenInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", ver
|
|
|
58
66
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: TokenInterceptor, decorators: [{
|
|
59
67
|
type: Injectable
|
|
60
68
|
}], ctorParameters: function () { return [{ type: i1.AuthService }, { type: i2.HttpClient }]; } });
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4uaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1pcGEtbGlicmFyeS9zcmMvbGliL2NvcmUvaW50ZXJjZXB0b3JzL3Rva2VuLmludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFjM0MsTUFBTSxPQUFPLGdCQUFnQjtJQUUzQixZQUFvQixXQUF3QixFQUFVLElBQWdCO1FBQWxELGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQVUsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUR0RSxZQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ3lELENBQUM7SUFFMUUsU0FBUyxDQUNQLE9BQTZCLEVBQzdCLElBQWlCO1FBRWpCLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUM3QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDN0I7UUFDRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzFDLElBQUksS0FBSyxFQUFFO1lBQ1QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMzQixPQUFPLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztnQkFDdEIsVUFBVSxFQUFFO29CQUNWLGFBQWEsRUFBRSxVQUFVLEtBQUssRUFBRTtpQkFDakM7YUFDRixDQUFDLENBQUM7U0FDSjtRQUNELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRU8sY0FBYyxDQUFDLEtBQWE7O1FBQ2xDLE1BQU0sWUFBWSxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUM7UUFDdkMsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLEVBQWtCLENBQUM7UUFDeEUsTUFBTSxPQUFPLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxNQUFBLFlBQVksQ0FBQyxHQUFHLG1DQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQ3pELElBQUksT0FBTyxHQUFHLElBQUksSUFBSSxFQUFFLEVBQUU7WUFDeEIsUUFBUSxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsR0FBRyxZQUFZLENBQUMsQ0FBQztZQUN2RCxPQUFPO1NBQ1I7YUFBTTtZQUNMLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLEVBQUU7Z0JBQ25DLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtvQkFDaEIsSUFBSSxDQUFDLElBQUk7eUJBQ04sR0FBRyxDQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxHQUFHLG9CQUFvQixFQUFFO3dCQUNqRSxPQUFPLEVBQUUsRUFBRSxhQUFhLEVBQUUsVUFBVSxLQUFLLEVBQUUsRUFBRTtxQkFDOUMsQ0FBQzt5QkFDRCxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTt3QkFDbEIsWUFBWSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO3dCQUMxQyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQzt3QkFDckIsVUFBVSxDQUFDLEdBQUcsRUFBRTs0QkFDZCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQzt3QkFDdEIsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO29CQUNaLENBQUMsQ0FBQyxDQUFDO2lCQUNOO2FBQ0Y7aUJBQU07Z0JBQ0wsTUFBTSxJQUFJLEtBQUssQ0FDYixvR0FBb0csQ0FDckcsQ0FBQzthQUNIO1NBQ0Y7SUFDSCxDQUFDO0lBRU8sV0FBVyxDQUFDLE9BQXlCO1FBQzNDLElBQ0UsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsb0JBQW9CLENBQUM7WUFDMUMsT0FBTyxDQUFDLE1BQU0sS0FBSyxLQUFLLEVBQ3hCO1lBQ0EsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs7NkdBN0RVLGdCQUFnQjtpSEFBaEIsZ0JBQWdCOzJGQUFoQixnQkFBZ0I7a0JBRDVCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgSHR0cFJlcXVlc3QsXHJcbiAgSHR0cEhhbmRsZXIsXHJcbiAgSHR0cEV2ZW50LFxyXG4gIEh0dHBJbnRlcmNlcHRvcixcclxuICBIdHRwQ2xpZW50LFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2F1dGguc2VydmljZSc7XHJcbmltcG9ydCB7IERlY29kZWRUb2tlbiB9IGZyb20gJy4uLy4uL21vZGVscy9kZWNvZGVkVG9rZW4ubW9kZWwnO1xyXG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3VzZXIubW9kZWwnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgVG9rZW5JbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XHJcbiAgcmVmcmVzaCA9IGZhbHNlO1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLCBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQpIHt9XHJcblxyXG4gIGludGVyY2VwdChcclxuICAgIHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PHVua25vd24+LFxyXG4gICAgbmV4dDogSHR0cEhhbmRsZXJcclxuICApOiBPYnNlcnZhYmxlPEh0dHBFdmVudDx1bmtub3duPj4ge1xyXG4gICAgaWYgKHRoaXMuaXNFeGNlcHRpb24ocmVxdWVzdCkpIHtcclxuICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcXVlc3QpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgdG9rZW4gPSB0aGlzLmF1dGhTZXJ2aWNlLmdldFRva2VuKCk7XHJcbiAgICBpZiAodG9rZW4pIHtcclxuICAgICAgdGhpcy5pc1Rva2VuRXhwaXJlZCh0b2tlbik7XHJcbiAgICAgIHJlcXVlc3QgPSByZXF1ZXN0LmNsb25lKHtcclxuICAgICAgICBzZXRIZWFkZXJzOiB7XHJcbiAgICAgICAgICBBdXRob3JpemF0aW9uOiBgQmVhcmVyICR7dG9rZW59YCxcclxuICAgICAgICB9LFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXF1ZXN0KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaXNUb2tlbkV4cGlyZWQodG9rZW46IHN0cmluZykge1xyXG4gICAgY29uc3QgcmVkaXJlY3RQYXRoID0gbG9jYXRpb24ucGF0aG5hbWU7XHJcbiAgICBjb25zdCBkZWNvZGVkVG9rZW4gPSB0aGlzLmF1dGhTZXJ2aWNlLmdldERlY29kZWRUb2tlbigpIGFzIERlY29kZWRUb2tlbjtcclxuICAgIGNvbnN0IGV4cERhdGUgPSBuZXcgRGF0ZSgoZGVjb2RlZFRva2VuLmV4cCA/PyAwKSAqIDEwMDApO1xyXG4gICAgaWYgKGV4cERhdGUgPCBuZXcgRGF0ZSgpKSB7XHJcbiAgICAgIGxvY2F0aW9uLnJlcGxhY2UoJy9hci9sb2dpbj9yZWRpcmVjdD0nICsgcmVkaXJlY3RQYXRoKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKHRoaXMuYXV0aFNlcnZpY2UuY3VycmVudFVzZXJVcmwpIHtcclxuICAgICAgICBpZiAodGhpcy5yZWZyZXNoKSB7XHJcbiAgICAgICAgICB0aGlzLmh0dHBcclxuICAgICAgICAgICAgLmdldDxVc2VyPih0aGlzLmF1dGhTZXJ2aWNlLmN1cnJlbnRVc2VyVXJsICsgYC9hcGkvdXNlcnM/cmVmcmVzaGAsIHtcclxuICAgICAgICAgICAgICBoZWFkZXJzOiB7IEF1dGhvcml6YXRpb246IGBCZWFyZXIgJHt0b2tlbn1gIH0sXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHVzZXIpID0+IHtcclxuICAgICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgndG9rZW4nLCB1c2VyLnRva2VuKTtcclxuICAgICAgICAgICAgICB0aGlzLnJlZnJlc2ggPSBmYWxzZTtcclxuICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMucmVmcmVzaCA9IHRydWU7XHJcbiAgICAgICAgICAgICAgfSwgMjUwMDApO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxyXG4gICAgICAgICAgXCJwcm92aWRlIGN1cnJlbnQgYmFzZSB1c2VyIGFwaSB1cmwgdXNpbmcgdGhpcyBmdW5jdGlvbiBhdXRoU2VydmljZS5zZXRDdXJyZW50VXNlclVybCgnaHR0cHM6Ly8uLi4nKVwiXHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpc0V4Y2VwdGlvbihyZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+KTogYm9vbGVhbiB7XHJcbiAgICBpZiAoXHJcbiAgICAgIHJlcXVlc3QudXJsLmluY2x1ZGVzKCcvYXBpL3VzZXJzP3JlZnJlc2gnKSAmJlxyXG4gICAgICByZXF1ZXN0Lm1ldGhvZCA9PT0gJ0dFVCdcclxuICAgICkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -18,6 +18,9 @@ export class CommonService {
|
|
|
18
18
|
${styles}
|
|
19
19
|
<style>
|
|
20
20
|
@media print {
|
|
21
|
+
.noPrint{
|
|
22
|
+
display: none !important;
|
|
23
|
+
}
|
|
21
24
|
body {
|
|
22
25
|
direction: rtl;
|
|
23
26
|
}
|
|
@@ -60,4 +63,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImpor
|
|
|
60
63
|
providedIn: 'root',
|
|
61
64
|
}]
|
|
62
65
|
}], ctorParameters: function () { return []; } });
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1pcGEtbGlicmFyeS9zcmMvbGliL3NlcnZpY2VzL2NvbW1vbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSzNDLE1BQU0sT0FBTyxhQUFhO0lBQ3hCLGdCQUFlLENBQUM7SUFFaEIsS0FBSyxDQUFDLE9BQWUsRUFBRSxLQUFhLEVBQUUsT0FBZ0I7O1FBQ3BELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDM0MsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMxQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRTdDLE1BQU0sYUFBYSxHQUFHLE1BQUEsUUFBUSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsMENBQUUsU0FBUyxDQUFDO1FBQ2xFLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxxQ0FBcUMsQ0FBQyxDQUFDO1FBQzVFLE1BQU0sSUFBSSxHQUFHOzs7c0JBR0ssS0FBSzs7Y0FFYixNQUFNO2NBQ04sTUFBTTs7Ozs7Ozs7Ozs7O3lCQVlLLE9BQU87Y0FDbEIsYUFBYTtjQUNiLE9BQU87OztnQkFHTCxDQUFDO1FBQ2IsUUFBUSxhQUFSLFFBQVEsdUJBQVIsUUFBUSxDQUFFLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMxQixRQUFRLGFBQVIsUUFBUSx1QkFBUixRQUFRLENBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMvQixRQUFRLGFBQVIsUUFBUSx1QkFBUixRQUFRLENBQUUsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzNCLFFBQVEsYUFBUixRQUFRLHVCQUFSLFFBQVEsQ0FBRSxLQUFLLEVBQUUsQ0FBQztRQUNsQixRQUFRLGFBQVIsUUFBUSx1QkFBUixRQUFRLENBQUUsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRTtZQUN2QyxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNkLElBQUksUUFBUSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsRUFBRTtvQkFDaEMsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDO29CQUNqQixRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7aUJBQ2xCO1lBQ0gsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ1gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sYUFBYSxDQUFDLEdBQWdDO1FBQ3BELE1BQU0sSUFBSSxHQUFhLEVBQUUsQ0FBQztRQUMxQixNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDcEQsS0FBSyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxHQUFHLFFBQVEsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDcEQsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDdEM7UUFFRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDM0IsQ0FBQzs7MEdBeERVLGFBQWE7OEdBQWIsYUFBYSxjQUZaLE1BQU07MkZBRVAsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29tbW9uU2VydmljZSB7XHJcbiAgY29uc3RydWN0b3IoKSB7fVxyXG5cclxuICBwcmludChlbGVtZW50OiBzdHJpbmcsIHRpdGxlOiBzdHJpbmcsIGNsYXNzZXM/OiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IHN0eWxlcyA9IHRoaXMuZ2V0RWxlbWVudFRhZygnc3R5bGUnKTtcclxuICAgIGNvbnN0IGxpbmtlcyA9IHRoaXMuZ2V0RWxlbWVudFRhZygnbGluaycpO1xyXG4gICAgY29uc3Qgc2NyaXB0cyA9IHRoaXMuZ2V0RWxlbWVudFRhZygnc2NyaXB0Jyk7XHJcblxyXG4gICAgY29uc3QgcHJpbnRDb250ZW50cyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGVsZW1lbnQpPy5pbm5lckhUTUw7XHJcbiAgICBjb25zdCBwb3B1cFdpbiA9IHdpbmRvdy5vcGVuKCcnLCAnJywgJ3RvcD0wLGxlZnQ9MCxoZWlnaHQ9MTAwJSx3aWR0aD1hdXRvJyk7XHJcbiAgICBjb25zdCBkYXRhID0gYFxyXG4gICAgICAgIDwhRE9DVFlQRSBodG1sPlxyXG4gICAgICAgICAgICA8aGVhZD5cclxuICAgICAgICAgICAgPHRpdGxlPiAke3RpdGxlfSA8L3RpdGxlPlxyXG4gICAgICAgICAgICA8bWV0YSBjaGFyc2V0PVwidXRmLThcIj5cclxuICAgICAgICAgICAgJHtsaW5rZXN9XHJcbiAgICAgICAgICAgICR7c3R5bGVzfVxyXG4gICAgICAgICAgICA8c3R5bGU+XHJcbiAgICAgICAgICAgICAgICBAbWVkaWEgcHJpbnQge1xyXG4gICAgICAgICAgICAgICAgICAubm9QcmludHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgYm9keSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uOiBydGw7XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIDwvc3R5bGU+XHJcbiAgICAgICAgICAgIDwvaGVhZD5cclxuICAgICAgICAgIDxib2R5IGNsYXNzPVwiJHtjbGFzc2VzfVwiPlxyXG4gICAgICAgICAgICAke3ByaW50Q29udGVudHN9XHJcbiAgICAgICAgICAgICR7c2NyaXB0c31cclxuICAgICAgICAgIDwvYm9keT5cclxuXHJcbiAgICAgICAgPC9odG1sPmA7XHJcbiAgICBwb3B1cFdpbj8uZG9jdW1lbnQub3BlbigpO1xyXG4gICAgcG9wdXBXaW4/LmRvY3VtZW50LndyaXRlKGRhdGEpO1xyXG4gICAgcG9wdXBXaW4/LmRvY3VtZW50LmNsb3NlKCk7XHJcbiAgICBwb3B1cFdpbj8uZm9jdXMoKTtcclxuICAgIHBvcHVwV2luPy5hZGRFdmVudExpc3RlbmVyKCdmb2N1cycsICgpID0+IHtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgaWYgKHBvcHVwV2luLmRvY3VtZW50Lmhhc0ZvY3VzKCkpIHtcclxuICAgICAgICAgIHBvcHVwV2luLnByaW50KCk7XHJcbiAgICAgICAgICBwb3B1cFdpbi5jbG9zZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSwgMTAwMCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0RWxlbWVudFRhZyh0YWc6IGtleW9mIEhUTUxFbGVtZW50VGFnTmFtZU1hcCk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBodG1sOiBzdHJpbmdbXSA9IFtdO1xyXG4gICAgY29uc3QgZWxlbWVudHMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSh0YWcpO1xyXG4gICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGVsZW1lbnRzLmxlbmd0aDsgaW5kZXgrKykge1xyXG4gICAgICBodG1sLnB1c2goZWxlbWVudHNbaW5kZXhdLm91dGVySFRNTCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGh0bWwuam9pbignXFxyXFxuJyk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -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,21 +1171,28 @@ class TokenInterceptor {
|
|
|
1170
1171
|
}
|
|
1171
1172
|
else {
|
|
1172
1173
|
if (this.authService.currentUserUrl) {
|
|
1173
|
-
this.
|
|
1174
|
-
|
|
1175
|
-
|
|
1176
|
-
|
|
1177
|
-
|
|
1178
|
-
|
|
1179
|
-
|
|
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
|
+
}
|
|
1180
1187
|
}
|
|
1181
1188
|
else {
|
|
1182
|
-
throw new Error("provide current base user api url using this function
|
|
1189
|
+
throw new Error("provide current base user api url using this function authService.setCurrentUserUrl('https://...')");
|
|
1183
1190
|
}
|
|
1184
1191
|
}
|
|
1185
1192
|
}
|
|
1186
1193
|
isException(request) {
|
|
1187
|
-
if (request.url.includes('/api/users') &&
|
|
1194
|
+
if (request.url.includes('/api/users?refresh') &&
|
|
1195
|
+
request.method === 'GET') {
|
|
1188
1196
|
return true;
|
|
1189
1197
|
}
|
|
1190
1198
|
return false;
|
|
@@ -1357,6 +1365,9 @@ class CommonService {
|
|
|
1357
1365
|
${styles}
|
|
1358
1366
|
<style>
|
|
1359
1367
|
@media print {
|
|
1368
|
+
.noPrint{
|
|
1369
|
+
display: none !important;
|
|
1370
|
+
}
|
|
1360
1371
|
body {
|
|
1361
1372
|
direction: rtl;
|
|
1362
1373
|
}
|