@gipisistemas/ng-core 1.1.7 → 1.1.8
Sign up to get free protection for your applications and to get access to all the features.
- package/bundles/gipisistemas-ng-core.umd.js +2261 -2168
- package/bundles/gipisistemas-ng-core.umd.js.map +1 -1
- package/bundles/gipisistemas-ng-core.umd.min.js +8 -8
- package/bundles/gipisistemas-ng-core.umd.min.js.map +1 -1
- package/core/guards/auth.guard.d.ts +3 -1
- package/core/guards/permission.guard.d.ts +5 -4
- package/core/interceptors/auth.interceptor.d.ts +2 -2
- package/core/services/authentication.service.d.ts +8 -9
- package/core.d.ts +0 -1
- package/esm2015/core/guards/auth.guard.js +16 -19
- package/esm2015/core/guards/permission.guard.js +31 -22
- package/esm2015/core/interceptors/auth.interceptor.js +7 -5
- package/esm2015/core/services/authentication.service.js +40 -34
- package/esm2015/core.js +1 -2
- package/esm2015/gipi-components.js +4 -1
- package/esm2015/shared/components/input/input.component.js +7 -2
- package/esm2015/shared/components/select-entity/select-entity.component.js +1 -1
- package/esm2015/shared/components/select-enum/select-enum.component.js +8 -3
- package/esm2015/shared/gipi-components/form-field/form-field.component.js +3 -3
- package/esm2015/shared/gipi-components/input-currency/input-currency.component.js +1 -1
- package/esm2015/shared/gipi-components/input-monthpicker/input-monthpicker.component.js +1 -1
- package/esm2015/shared/gipi-components/input-select/input-select.component.js +1 -1
- package/esm2015/shared/gipi-components/skeleton/skeleton.component.js +44 -0
- package/esm2015/shared/gipi-components/skeleton/skeleton.directive.js +79 -0
- package/esm2015/shared/shared.module.js +7 -3
- package/esm5/core/guards/auth.guard.js +16 -20
- package/esm5/core/guards/permission.guard.js +31 -23
- package/esm5/core/interceptors/auth.interceptor.js +7 -5
- package/esm5/core/services/authentication.service.js +41 -46
- package/esm5/core.js +1 -2
- package/esm5/gipi-components.js +4 -1
- package/esm5/shared/components/input/input.component.js +7 -2
- package/esm5/shared/components/select-entity/select-entity.component.js +1 -1
- package/esm5/shared/components/select-enum/select-enum.component.js +8 -3
- package/esm5/shared/gipi-components/form-field/form-field.component.js +3 -3
- package/esm5/shared/gipi-components/input-currency/input-currency.component.js +1 -1
- package/esm5/shared/gipi-components/input-monthpicker/input-monthpicker.component.js +1 -1
- package/esm5/shared/gipi-components/input-select/input-select.component.js +1 -1
- package/esm5/shared/gipi-components/skeleton/skeleton.component.js +46 -0
- package/esm5/shared/gipi-components/skeleton/skeleton.directive.js +81 -0
- package/esm5/shared/shared.module.js +7 -3
- package/fesm2015/gipisistemas-ng-core.js +4172 -4069
- package/fesm2015/gipisistemas-ng-core.js.map +1 -1
- package/fesm5/gipisistemas-ng-core.js +2260 -2168
- package/fesm5/gipisistemas-ng-core.js.map +1 -1
- package/gipi-components.d.ts +2 -0
- package/gipisistemas-ng-core.metadata.json +1 -1
- package/package.json +1 -1
- package/shared/components/input/input.component.d.ts +1 -0
- package/shared/components/select-enum/select-enum.component.d.ts +1 -0
- package/shared/gipi-components/skeleton/skeleton.component.d.ts +9 -0
- package/shared/gipi-components/skeleton/skeleton.directive.d.ts +15 -0
- package/core/guards/public.guard.d.ts +0 -11
- package/esm2015/core/guards/public.guard.js +0 -44
- package/esm5/core/guards/public.guard.js +0 -46
@@ -1,11 +1,13 @@
|
|
1
|
+
import { MatDialog } from '@angular/material/dialog';
|
1
2
|
import { ActivatedRouteSnapshot, CanActivate, CanActivateChild, Router, RouterStateSnapshot } from '@angular/router';
|
2
3
|
import { Observable } from 'rxjs';
|
3
4
|
import { BaseUser } from '../models/base-user.model';
|
4
5
|
import { AuthenticationService } from '../services/authentication.service';
|
5
6
|
export declare class AuthGuard implements CanActivate, CanActivateChild {
|
6
7
|
private _router;
|
8
|
+
private _matDialog;
|
7
9
|
private _authenticationService;
|
8
|
-
constructor(_router: Router, _authenticationService: AuthenticationService<BaseUser>);
|
10
|
+
constructor(_router: Router, _matDialog: MatDialog, _authenticationService: AuthenticationService<BaseUser>);
|
9
11
|
canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean>;
|
10
12
|
canActivateChild(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean>;
|
11
13
|
}
|
@@ -1,14 +1,15 @@
|
|
1
|
+
import { MatDialog } from '@angular/material/dialog';
|
1
2
|
import { ActivatedRouteSnapshot, CanActivate, CanActivateChild, Router, RouterStateSnapshot } from '@angular/router';
|
2
3
|
import { Observable } from 'rxjs';
|
3
4
|
import { BaseUser } from '../models/base-user.model';
|
4
5
|
import { AuthenticationService } from '../services/authentication.service';
|
5
|
-
import { MenuDTO } from './../models/dto/menu.dto';
|
6
6
|
export declare class PermissionGuard implements CanActivate, CanActivateChild {
|
7
7
|
private _router;
|
8
|
+
private _matDialog;
|
8
9
|
private _authenticationService;
|
9
|
-
constructor(_router: Router, _authenticationService: AuthenticationService<BaseUser>);
|
10
|
+
constructor(_router: Router, _matDialog: MatDialog, _authenticationService: AuthenticationService<BaseUser>);
|
11
|
+
private _hasAuthority;
|
12
|
+
private _hasPermission;
|
10
13
|
canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean>;
|
11
|
-
hasAuthority(user: any, permission: string): boolean;
|
12
|
-
hasPermission(menuList: MenuDTO[], url: string): boolean;
|
13
14
|
canActivateChild(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean>;
|
14
15
|
}
|
@@ -3,7 +3,7 @@ import { Observable } from 'rxjs';
|
|
3
3
|
import { BaseUser } from '../models/base-user.model';
|
4
4
|
import { AuthenticationService } from '../services/authentication.service';
|
5
5
|
export declare class AuthInterceptor implements HttpInterceptor {
|
6
|
-
private
|
7
|
-
constructor(
|
6
|
+
private _authenticationService;
|
7
|
+
constructor(_authenticationService: AuthenticationService<BaseUser>);
|
8
8
|
intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>>;
|
9
9
|
}
|
@@ -1,23 +1,22 @@
|
|
1
1
|
import { HttpClient, HttpHeaders } from '@angular/common/http';
|
2
2
|
import { Router } from '@angular/router';
|
3
|
-
import {
|
3
|
+
import { Observable } from 'rxjs';
|
4
4
|
import { BaseUser } from '../models/base-user.model';
|
5
5
|
import { TokenDTO } from '../models/dto/token.dto';
|
6
6
|
import { AbstractService } from './abstract.service';
|
7
7
|
export declare class AuthenticationService<U extends BaseUser> extends AbstractService {
|
8
8
|
protected router: Router;
|
9
9
|
protected http: HttpClient;
|
10
|
-
|
11
|
-
token
|
10
|
+
private _tokenSubject$;
|
11
|
+
token$: Observable<TokenDTO<U>>;
|
12
12
|
constructor(router: Router, http: HttpClient);
|
13
|
-
login(
|
14
|
-
logout():
|
15
|
-
removeToken(): void;
|
13
|
+
login(username: string, password: string): Observable<TokenDTO<U>>;
|
14
|
+
logout(): void;
|
16
15
|
refreshToken(additionalParams?: Map<any, any>): Observable<TokenDTO<U>>;
|
17
16
|
revokeToken(token?: TokenDTO<U>): Observable<any>;
|
17
|
+
protected setSession(token: TokenDTO<U>): TokenDTO<U>;
|
18
|
+
removeSession(): void;
|
18
19
|
isValidToken(token: TokenDTO<U>): boolean;
|
19
|
-
|
20
|
-
get tokenValue(): TokenDTO<U>;
|
21
|
-
get tokenValueLocalStorage(): TokenDTO<U>;
|
20
|
+
get token(): TokenDTO<U>;
|
22
21
|
protected buildHeaders(): HttpHeaders;
|
23
22
|
}
|
package/core.d.ts
CHANGED
@@ -8,7 +8,6 @@ export * from './core/core.module';
|
|
8
8
|
export * from './core/enums/local-time.enum';
|
9
9
|
export * from './core/guards/auth.guard';
|
10
10
|
export * from './core/guards/permission.guard';
|
11
|
-
export * from './core/guards/public.guard';
|
12
11
|
export * from './core/interceptors/auth.interceptor';
|
13
12
|
export * from './core/interceptors/error.interceptor';
|
14
13
|
export * from './core/models/abstract.model';
|
@@ -1,33 +1,28 @@
|
|
1
1
|
import { __decorate, __metadata } from "tslib";
|
2
2
|
import { Injectable } from '@angular/core';
|
3
|
+
import { MatDialog } from '@angular/material/dialog';
|
3
4
|
import { ActivatedRouteSnapshot, CanActivate, CanActivateChild, Router, RouterStateSnapshot } from '@angular/router';
|
4
5
|
import { of } from 'rxjs';
|
5
|
-
import { map } from 'rxjs/operators';
|
6
6
|
import { AuthenticationService } from '../services/authentication.service';
|
7
|
-
import { ObjectUtil } from '../utils/object.util';
|
8
7
|
import * as i0 from "@angular/core";
|
9
8
|
import * as i1 from "@angular/router";
|
10
|
-
import * as i2 from "
|
9
|
+
import * as i2 from "@angular/material/dialog";
|
10
|
+
import * as i3 from "../services/authentication.service";
|
11
11
|
let AuthGuard = class AuthGuard {
|
12
|
-
constructor(_router, _authenticationService) {
|
12
|
+
constructor(_router, _matDialog, _authenticationService) {
|
13
13
|
this._router = _router;
|
14
|
+
this._matDialog = _matDialog;
|
14
15
|
this._authenticationService = _authenticationService;
|
15
16
|
}
|
16
17
|
canActivate(route, state) {
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
this._authenticationService.removeToken();
|
24
|
-
}
|
25
|
-
this._router.navigate(['oauth/login'], { queryParams: { returnUrl: state.url } });
|
26
|
-
return false;
|
27
|
-
}));
|
18
|
+
const token = this._authenticationService.token;
|
19
|
+
if (!this._authenticationService.isValidToken(token)) {
|
20
|
+
this._authenticationService.removeSession();
|
21
|
+
this._matDialog.closeAll();
|
22
|
+
this._router.navigate(['oauth/login']);
|
23
|
+
return of(false);
|
28
24
|
}
|
29
|
-
|
30
|
-
return of(false);
|
25
|
+
return of(true);
|
31
26
|
}
|
32
27
|
canActivateChild(route, state) {
|
33
28
|
return this.canActivate(route, state);
|
@@ -35,13 +30,15 @@ let AuthGuard = class AuthGuard {
|
|
35
30
|
};
|
36
31
|
AuthGuard.ctorParameters = () => [
|
37
32
|
{ type: Router },
|
33
|
+
{ type: MatDialog },
|
38
34
|
{ type: AuthenticationService }
|
39
35
|
];
|
40
|
-
AuthGuard.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function AuthGuard_Factory() { return new AuthGuard(i0.ɵɵinject(i1.Router), i0.ɵɵinject(i2.AuthenticationService)); }, token: AuthGuard, providedIn: "root" });
|
36
|
+
AuthGuard.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function AuthGuard_Factory() { return new AuthGuard(i0.ɵɵinject(i1.Router), i0.ɵɵinject(i2.MatDialog), i0.ɵɵinject(i3.AuthenticationService)); }, token: AuthGuard, providedIn: "root" });
|
41
37
|
AuthGuard = __decorate([
|
42
38
|
Injectable({ providedIn: 'root' }),
|
43
39
|
__metadata("design:paramtypes", [Router,
|
40
|
+
MatDialog,
|
44
41
|
AuthenticationService])
|
45
42
|
], AuthGuard);
|
46
43
|
export { AuthGuard };
|
47
|
-
//# sourceMappingURL=data:application/json;base64,
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BnaXBpc2lzdGVtYXMvbmctY29yZS8iLCJzb3VyY2VzIjpbImNvcmUvZ3VhcmRzL2F1dGguZ3VhcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDckgsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUl0QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7Ozs7QUFFM0UsSUFBYSxTQUFTLEdBQXRCLE1BQWEsU0FBUztJQUVsQixZQUNZLE9BQWUsRUFDZixVQUFxQixFQUNyQixzQkFBdUQ7UUFGdkQsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUNmLGVBQVUsR0FBVixVQUFVLENBQVc7UUFDckIsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUFpQztJQUMvRCxDQUFDO0lBRUwsV0FBVyxDQUFDLEtBQTZCLEVBQUUsS0FBMEI7UUFDakUsTUFBTSxLQUFLLEdBQXVCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLENBQUM7UUFDcEUsSUFBSSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDbEQsSUFBSSxDQUFDLHNCQUFzQixDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQzVDLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO1lBQ3ZDLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3BCO1FBRUQsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEIsQ0FBQztJQUVELGdCQUFnQixDQUFDLEtBQTZCLEVBQUUsS0FBMEI7UUFDdEUsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztJQUMxQyxDQUFDO0NBRUosQ0FBQTs7WUFyQndCLE1BQU07WUFDSCxTQUFTO1lBQ0cscUJBQXFCOzs7QUFMaEQsU0FBUztJQURyQixVQUFVLENBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLENBQUM7cUNBSVYsTUFBTTtRQUNILFNBQVM7UUFDRyxxQkFBcUI7R0FMaEQsU0FBUyxDQXdCckI7U0F4QlksU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBDYW5BY3RpdmF0ZSwgQ2FuQWN0aXZhdGVDaGlsZCwgUm91dGVyLCBSb3V0ZXJTdGF0ZVNuYXBzaG90IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEJhc2VVc2VyIH0gZnJvbSAnLi4vbW9kZWxzL2Jhc2UtdXNlci5tb2RlbCc7XG5pbXBvcnQgeyBUb2tlbkRUTyB9IGZyb20gJy4uL21vZGVscy9kdG8vdG9rZW4uZHRvJztcbmltcG9ydCB7IEF1dGhlbnRpY2F0aW9uU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2F1dGhlbnRpY2F0aW9uLnNlcnZpY2UnO1xuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBBdXRoR3VhcmQgaW1wbGVtZW50cyBDYW5BY3RpdmF0ZSwgQ2FuQWN0aXZhdGVDaGlsZCB7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBfcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgIHByaXZhdGUgX21hdERpYWxvZzogTWF0RGlhbG9nLFxuICAgICAgICBwcml2YXRlIF9hdXRoZW50aWNhdGlvblNlcnZpY2U6IEF1dGhlbnRpY2F0aW9uU2VydmljZTxCYXNlVXNlcj4sXG4gICAgKSB7IH1cblxuICAgIGNhbkFjdGl2YXRlKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBzdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICBjb25zdCB0b2tlbjogVG9rZW5EVE88QmFzZVVzZXI+ID0gdGhpcy5fYXV0aGVudGljYXRpb25TZXJ2aWNlLnRva2VuO1xuICAgICAgICBpZiAoIXRoaXMuX2F1dGhlbnRpY2F0aW9uU2VydmljZS5pc1ZhbGlkVG9rZW4odG9rZW4pKSB7XG4gICAgICAgICAgICB0aGlzLl9hdXRoZW50aWNhdGlvblNlcnZpY2UucmVtb3ZlU2Vzc2lvbigpO1xuICAgICAgICAgICAgdGhpcy5fbWF0RGlhbG9nLmNsb3NlQWxsKCk7XG4gICAgICAgICAgICB0aGlzLl9yb3V0ZXIubmF2aWdhdGUoWydvYXV0aC9sb2dpbiddKTtcbiAgICAgICAgICAgIHJldHVybiBvZihmYWxzZSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gb2YodHJ1ZSk7XG4gICAgfVxuXG4gICAgY2FuQWN0aXZhdGVDaGlsZChyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgc3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3QpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FuQWN0aXZhdGUocm91dGUsIHN0YXRlKTtcbiAgICB9XG5cbn1cbiJdfQ==
|
@@ -1,60 +1,69 @@
|
|
1
1
|
import { __decorate, __metadata } from "tslib";
|
2
2
|
import { Injectable } from '@angular/core';
|
3
|
+
import { MatDialog } from '@angular/material/dialog';
|
3
4
|
import { ActivatedRouteSnapshot, CanActivate, CanActivateChild, Router, RouterStateSnapshot } from '@angular/router';
|
4
5
|
import { of } from 'rxjs';
|
5
|
-
import { map } from 'rxjs/operators';
|
6
6
|
import { AuthenticationService } from '../services/authentication.service';
|
7
|
+
import { ArrayUtil } from '../utils/array.util';
|
7
8
|
import { ObjectUtil } from '../utils/object.util';
|
8
|
-
import {
|
9
|
+
import { StringUtil } from '../utils/string.util';
|
9
10
|
import * as i0 from "@angular/core";
|
10
11
|
import * as i1 from "@angular/router";
|
11
|
-
import * as i2 from "
|
12
|
+
import * as i2 from "@angular/material/dialog";
|
13
|
+
import * as i3 from "../services/authentication.service";
|
12
14
|
let PermissionGuard = class PermissionGuard {
|
13
|
-
constructor(_router, _authenticationService) {
|
15
|
+
constructor(_router, _matDialog, _authenticationService) {
|
14
16
|
this._router = _router;
|
17
|
+
this._matDialog = _matDialog;
|
15
18
|
this._authenticationService = _authenticationService;
|
16
19
|
}
|
17
|
-
|
18
|
-
if (
|
19
|
-
return
|
20
|
-
if (this._authenticationService.isValidToken(token)
|
21
|
-
&& (!this.hasPermission(token.user.menuList, state.url) && !this.hasAuthority(token.user, route.data.authority))) {
|
22
|
-
this._router.navigate(['errors/403']);
|
23
|
-
return false;
|
24
|
-
}
|
25
|
-
return true;
|
26
|
-
}));
|
20
|
+
_hasAuthority(user, permission) {
|
21
|
+
if (ObjectUtil.isNull(user) || StringUtil.isEmpty(permission)) {
|
22
|
+
return false;
|
27
23
|
}
|
28
|
-
this._router.navigate(['errors/403']);
|
29
|
-
return of(false);
|
30
|
-
}
|
31
|
-
hasAuthority(user, permission) {
|
32
24
|
return !!user.authorities.find(authority => authority.authority.match(permission));
|
33
25
|
}
|
34
|
-
|
26
|
+
_hasPermission(menuList, url) {
|
35
27
|
for (const menu of menuList) {
|
36
28
|
if (url.split('/').pop() === menu.route) {
|
37
29
|
return true;
|
38
30
|
}
|
39
31
|
else if (!ArrayUtil.isEmpty(menu.menuList)) {
|
40
|
-
return this.
|
32
|
+
return this._hasPermission(menu.menuList, url);
|
41
33
|
}
|
42
34
|
}
|
43
35
|
return false;
|
44
36
|
}
|
37
|
+
canActivate(route, state) {
|
38
|
+
const token = this._authenticationService.token;
|
39
|
+
if (!this._authenticationService.isValidToken(token)) {
|
40
|
+
this._authenticationService.removeSession();
|
41
|
+
this._matDialog.closeAll();
|
42
|
+
this._router.navigate(['oauth/login']);
|
43
|
+
return of(false);
|
44
|
+
}
|
45
|
+
const hasPermission = this._hasPermission(token.user.menuList, state.url) && this._hasAuthority(token.user, route.data.authority);
|
46
|
+
if (!hasPermission) {
|
47
|
+
this._router.navigate(['errors/403']);
|
48
|
+
return of(false);
|
49
|
+
}
|
50
|
+
return of(true);
|
51
|
+
}
|
45
52
|
canActivateChild(route, state) {
|
46
53
|
return this.canActivate(route, state);
|
47
54
|
}
|
48
55
|
};
|
49
56
|
PermissionGuard.ctorParameters = () => [
|
50
57
|
{ type: Router },
|
58
|
+
{ type: MatDialog },
|
51
59
|
{ type: AuthenticationService }
|
52
60
|
];
|
53
|
-
PermissionGuard.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function PermissionGuard_Factory() { return new PermissionGuard(i0.ɵɵinject(i1.Router), i0.ɵɵinject(i2.AuthenticationService)); }, token: PermissionGuard, providedIn: "root" });
|
61
|
+
PermissionGuard.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function PermissionGuard_Factory() { return new PermissionGuard(i0.ɵɵinject(i1.Router), i0.ɵɵinject(i2.MatDialog), i0.ɵɵinject(i3.AuthenticationService)); }, token: PermissionGuard, providedIn: "root" });
|
54
62
|
PermissionGuard = __decorate([
|
55
63
|
Injectable({ providedIn: 'root' }),
|
56
64
|
__metadata("design:paramtypes", [Router,
|
65
|
+
MatDialog,
|
57
66
|
AuthenticationService])
|
58
67
|
], PermissionGuard);
|
59
68
|
export { PermissionGuard };
|
60
|
-
//# sourceMappingURL=data:application/json;base64,
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BnaXBpc2lzdGVtYXMvbmctY29yZS8iLCJzb3VyY2VzIjpbImNvcmUvZ3VhcmRzL3Blcm1pc3Npb24uZ3VhcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDckgsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUt0QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7QUFFbEQsSUFBYSxlQUFlLEdBQTVCLE1BQWEsZUFBZTtJQUV4QixZQUNZLE9BQWUsRUFDZixVQUFxQixFQUNyQixzQkFBdUQ7UUFGdkQsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUNmLGVBQVUsR0FBVixVQUFVLENBQVc7UUFDckIsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUFpQztJQUMvRCxDQUFDO0lBRUcsYUFBYSxDQUFDLElBQWMsRUFBRSxVQUFrQjtRQUNwRCxJQUFJLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksVUFBVSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUMzRCxPQUFPLEtBQUssQ0FBQztTQUNoQjtRQUNELE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUN2RixDQUFDO0lBRU8sY0FBYyxDQUFDLFFBQW1CLEVBQUUsR0FBVztRQUNuRCxLQUFLLE1BQU0sSUFBSSxJQUFJLFFBQVEsRUFBRTtZQUN6QixJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssSUFBSSxDQUFDLEtBQUssRUFBRTtnQkFDckMsT0FBTyxJQUFJLENBQUM7YUFDZjtpQkFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUU7Z0JBQzFDLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDO2FBQ2xEO1NBQ0o7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQTZCLEVBQUUsS0FBMEI7UUFDakUsTUFBTSxLQUFLLEdBQXVCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLENBQUM7UUFDcEUsSUFBSSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDbEQsSUFBSSxDQUFDLHNCQUFzQixDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQzVDLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO1lBQ3ZDLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3BCO1FBRUQsTUFBTSxhQUFhLEdBQVksSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDM0ksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUNoQixJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7WUFDdEMsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDcEI7UUFFRCxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwQixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsS0FBNkIsRUFBRSxLQUEwQjtRQUN0RSxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzFDLENBQUM7Q0FFSixDQUFBOztZQTdDd0IsTUFBTTtZQUNILFNBQVM7WUFDRyxxQkFBcUI7OztBQUxoRCxlQUFlO0lBRDNCLFVBQVUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsQ0FBQztxQ0FJVixNQUFNO1FBQ0gsU0FBUztRQUNHLHFCQUFxQjtHQUxoRCxlQUFlLENBZ0QzQjtTQWhEWSxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIENhbkFjdGl2YXRlLCBDYW5BY3RpdmF0ZUNoaWxkLCBSb3V0ZXIsIFJvdXRlclN0YXRlU25hcHNob3QgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQmFzZVVzZXIgfSBmcm9tICcuLi9tb2RlbHMvYmFzZS11c2VyLm1vZGVsJztcbmltcG9ydCB7IE1lbnVEVE8gfSBmcm9tICcuLi9tb2RlbHMvZHRvL21lbnUuZHRvJztcbmltcG9ydCB7IFRva2VuRFRPIH0gZnJvbSAnLi4vbW9kZWxzL2R0by90b2tlbi5kdG8nO1xuaW1wb3J0IHsgQXV0aGVudGljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvYXV0aGVudGljYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBBcnJheVV0aWwgfSBmcm9tICcuLi91dGlscy9hcnJheS51dGlsJztcbmltcG9ydCB7IE9iamVjdFV0aWwgfSBmcm9tICcuLi91dGlscy9vYmplY3QudXRpbCc7XG5pbXBvcnQgeyBTdHJpbmdVdGlsIH0gZnJvbSAnLi4vdXRpbHMvc3RyaW5nLnV0aWwnO1xuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBQZXJtaXNzaW9uR3VhcmQgaW1wbGVtZW50cyBDYW5BY3RpdmF0ZSwgQ2FuQWN0aXZhdGVDaGlsZCB7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBfcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgIHByaXZhdGUgX21hdERpYWxvZzogTWF0RGlhbG9nLFxuICAgICAgICBwcml2YXRlIF9hdXRoZW50aWNhdGlvblNlcnZpY2U6IEF1dGhlbnRpY2F0aW9uU2VydmljZTxCYXNlVXNlcj5cbiAgICApIHsgfVxuXG4gICAgcHJpdmF0ZSBfaGFzQXV0aG9yaXR5KHVzZXI6IEJhc2VVc2VyLCBwZXJtaXNzaW9uOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKE9iamVjdFV0aWwuaXNOdWxsKHVzZXIpIHx8IFN0cmluZ1V0aWwuaXNFbXB0eShwZXJtaXNzaW9uKSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiAhIXVzZXIuYXV0aG9yaXRpZXMuZmluZChhdXRob3JpdHkgPT4gYXV0aG9yaXR5LmF1dGhvcml0eS5tYXRjaChwZXJtaXNzaW9uKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfaGFzUGVybWlzc2lvbihtZW51TGlzdDogTWVudURUT1tdLCB1cmw6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICBmb3IgKGNvbnN0IG1lbnUgb2YgbWVudUxpc3QpIHtcbiAgICAgICAgICAgIGlmICh1cmwuc3BsaXQoJy8nKS5wb3AoKSA9PT0gbWVudS5yb3V0ZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfSBlbHNlIGlmICghQXJyYXlVdGlsLmlzRW1wdHkobWVudS5tZW51TGlzdCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5faGFzUGVybWlzc2lvbihtZW51Lm1lbnVMaXN0LCB1cmwpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBjYW5BY3RpdmF0ZShyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgc3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3QpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgY29uc3QgdG9rZW46IFRva2VuRFRPPEJhc2VVc2VyPiA9IHRoaXMuX2F1dGhlbnRpY2F0aW9uU2VydmljZS50b2tlbjtcbiAgICAgICAgaWYgKCF0aGlzLl9hdXRoZW50aWNhdGlvblNlcnZpY2UuaXNWYWxpZFRva2VuKHRva2VuKSkge1xuICAgICAgICAgICAgdGhpcy5fYXV0aGVudGljYXRpb25TZXJ2aWNlLnJlbW92ZVNlc3Npb24oKTtcbiAgICAgICAgICAgIHRoaXMuX21hdERpYWxvZy5jbG9zZUFsbCgpO1xuICAgICAgICAgICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlKFsnb2F1dGgvbG9naW4nXSk7XG4gICAgICAgICAgICByZXR1cm4gb2YoZmFsc2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaGFzUGVybWlzc2lvbjogYm9vbGVhbiA9IHRoaXMuX2hhc1Blcm1pc3Npb24odG9rZW4udXNlci5tZW51TGlzdCwgc3RhdGUudXJsKSAmJiB0aGlzLl9oYXNBdXRob3JpdHkodG9rZW4udXNlciwgcm91dGUuZGF0YS5hdXRob3JpdHkpO1xuICAgICAgICBpZiAoIWhhc1Blcm1pc3Npb24pIHtcbiAgICAgICAgICAgIHRoaXMuX3JvdXRlci5uYXZpZ2F0ZShbJ2Vycm9ycy80MDMnXSk7XG4gICAgICAgICAgICByZXR1cm4gb2YoZmFsc2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG9mKHRydWUpO1xuICAgIH1cblxuICAgIGNhbkFjdGl2YXRlQ2hpbGQocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90KTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNhbkFjdGl2YXRlKHJvdXRlLCBzdGF0ZSk7XG4gICAgfVxuXG59XG4iXX0=
|
@@ -1,13 +1,15 @@
|
|
1
1
|
import { __decorate, __metadata } from "tslib";
|
2
2
|
import { Injectable } from '@angular/core';
|
3
3
|
import { AuthenticationService } from '../services/authentication.service';
|
4
|
+
import { ObjectUtil } from '../utils/object.util';
|
5
|
+
import { StringUtil } from '../utils/string.util';
|
4
6
|
let AuthInterceptor = class AuthInterceptor {
|
5
|
-
constructor(
|
6
|
-
this.
|
7
|
+
constructor(_authenticationService) {
|
8
|
+
this._authenticationService = _authenticationService;
|
7
9
|
}
|
8
10
|
intercept(request, next) {
|
9
|
-
const token = this.
|
10
|
-
if (token && token.accessToken && !request.headers.get('skip')) {
|
11
|
+
const token = this._authenticationService.token;
|
12
|
+
if (!ObjectUtil.isNull(token) && !StringUtil.isEmpty(token.accessToken) && !request.headers.get('skip')) {
|
11
13
|
request = request.clone({
|
12
14
|
setHeaders: {
|
13
15
|
Authorization: `Bearer ${token.accessToken}`
|
@@ -25,4 +27,4 @@ AuthInterceptor = __decorate([
|
|
25
27
|
__metadata("design:paramtypes", [AuthenticationService])
|
26
28
|
], AuthInterceptor);
|
27
29
|
export { AuthInterceptor };
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BnaXBpc2lzdGVtYXMvbmctY29yZS8iLCJzb3VyY2VzIjpbImNvcmUvaW50ZXJjZXB0b3JzL2F1dGguaW50ZXJjZXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFLM0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDM0UsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUdsRCxJQUFhLGVBQWUsR0FBNUIsTUFBYSxlQUFlO0lBRXhCLFlBQW9CLHNCQUF1RDtRQUF2RCwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQWlDO0lBQUksQ0FBQztJQUVoRixTQUFTLENBQUMsT0FBeUIsRUFBRSxJQUFpQjtRQUNsRCxNQUFNLEtBQUssR0FBdUIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQztRQUNwRSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDckcsT0FBTyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7Z0JBQ3BCLFVBQVUsRUFBRTtvQkFDUixhQUFhLEVBQUUsVUFBVSxLQUFLLENBQUMsV0FBVyxFQUFFO2lCQUMvQzthQUNKLENBQUMsQ0FBQztTQUNOO1FBRUQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7Q0FDSixDQUFBOztZQWQrQyxxQkFBcUI7O0FBRnhELGVBQWU7SUFEM0IsVUFBVSxFQUFFO3FDQUdtQyxxQkFBcUI7R0FGeEQsZUFBZSxDQWdCM0I7U0FoQlksZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBFdmVudCwgSHR0cEhhbmRsZXIsIEh0dHBJbnRlcmNlcHRvciwgSHR0cFJlcXVlc3QgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEJhc2VVc2VyIH0gZnJvbSAnLi4vbW9kZWxzL2Jhc2UtdXNlci5tb2RlbCc7XG5pbXBvcnQgeyBUb2tlbkRUTyB9IGZyb20gJy4uL21vZGVscy9kdG8vdG9rZW4uZHRvJztcbmltcG9ydCB7IEF1dGhlbnRpY2F0aW9uU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2F1dGhlbnRpY2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgT2JqZWN0VXRpbCB9IGZyb20gJy4uL3V0aWxzL29iamVjdC51dGlsJztcbmltcG9ydCB7IFN0cmluZ1V0aWwgfSBmcm9tICcuLi91dGlscy9zdHJpbmcudXRpbCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBdXRoSW50ZXJjZXB0b3IgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3Ige1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfYXV0aGVudGljYXRpb25TZXJ2aWNlOiBBdXRoZW50aWNhdGlvblNlcnZpY2U8QmFzZVVzZXI+KSB7IH1cblxuICAgIGludGVyY2VwdChyZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+LCBuZXh0OiBIdHRwSGFuZGxlcik6IE9ic2VydmFibGU8SHR0cEV2ZW50PGFueT4+IHtcbiAgICAgICAgY29uc3QgdG9rZW46IFRva2VuRFRPPEJhc2VVc2VyPiA9IHRoaXMuX2F1dGhlbnRpY2F0aW9uU2VydmljZS50b2tlbjtcbiAgICAgICAgaWYgKCFPYmplY3RVdGlsLmlzTnVsbCh0b2tlbikgJiYgIVN0cmluZ1V0aWwuaXNFbXB0eSh0b2tlbi5hY2Nlc3NUb2tlbikgJiYgIXJlcXVlc3QuaGVhZGVycy5nZXQoJ3NraXAnKSkge1xuICAgICAgICAgICAgcmVxdWVzdCA9IHJlcXVlc3QuY2xvbmUoe1xuICAgICAgICAgICAgICAgIHNldEhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgQXV0aG9yaXphdGlvbjogYEJlYXJlciAke3Rva2VuLmFjY2Vzc1Rva2VufWBcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXF1ZXN0KTtcbiAgICB9XG59XG4iXX0=
|
@@ -1,9 +1,9 @@
|
|
1
|
-
import {
|
1
|
+
import { __decorate, __metadata } from "tslib";
|
2
2
|
import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';
|
3
3
|
import { Injectable } from '@angular/core';
|
4
4
|
import { Router } from '@angular/router';
|
5
5
|
import { BehaviorSubject } from 'rxjs';
|
6
|
-
import { map } from 'rxjs/operators';
|
6
|
+
import { catchError, map, takeUntil } from 'rxjs/operators';
|
7
7
|
import * as moment_ from 'moment';
|
8
8
|
import * as i0 from "@angular/core";
|
9
9
|
import * as i1 from "@angular/router";
|
@@ -17,36 +17,37 @@ let AuthenticationService = class AuthenticationService extends AbstractService
|
|
17
17
|
super();
|
18
18
|
this.router = router;
|
19
19
|
this.http = http;
|
20
|
-
this.
|
21
|
-
this.token = this.
|
20
|
+
this._tokenSubject$ = new BehaviorSubject(JSON.parse(localStorage.getItem('token')));
|
21
|
+
this.token$ = this._tokenSubject$.asObservable();
|
22
22
|
}
|
23
|
-
login(
|
23
|
+
login(username, password) {
|
24
24
|
const body = new HttpParams()
|
25
25
|
.set('grant_type', 'password')
|
26
|
-
.set('username',
|
27
|
-
.set('password',
|
28
|
-
return this.http.post('api/authenticator/oauth/token', body, this.options()).pipe(map(
|
26
|
+
.set('username', username)
|
27
|
+
.set('password', password);
|
28
|
+
return this.http.post('api/authenticator/oauth/token', body, this.options(this.buildParams(), this.buildHeaders().append('skip', String(true)))).pipe(map((token) => {
|
29
|
+
if (this.isValidToken(token)) {
|
30
|
+
this.setSession(token);
|
31
|
+
}
|
32
|
+
return token;
|
33
|
+
}), takeUntil(this.onDestroy), catchError(this.handleError));
|
29
34
|
}
|
30
35
|
logout() {
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
+
this.revokeToken().subscribe(_ => {
|
37
|
+
this.removeSession();
|
38
|
+
this.router.navigate(['/oauth/login'], { queryParams: { returnUrl: this.router.routerState.snapshot.url } });
|
39
|
+
}, error => {
|
40
|
+
throw new Error(error);
|
36
41
|
});
|
37
42
|
}
|
38
|
-
removeToken() {
|
39
|
-
localStorage.removeItem('token');
|
40
|
-
this.tokenSubject.next(null);
|
41
|
-
}
|
42
43
|
refreshToken(additionalParams) {
|
43
44
|
let body = new HttpParams()
|
44
45
|
.set('grant_type', 'refresh_token')
|
45
|
-
.set('refresh_token', this.
|
46
|
+
.set('refresh_token', this.token.refreshToken);
|
46
47
|
if (!ObjectUtil.isNull(additionalParams)) {
|
47
48
|
additionalParams.forEach((value, key) => body = body.append(key, value));
|
48
49
|
}
|
49
|
-
return this.http.post('api/authenticator/oauth/token', body, this.options(this.buildParams(), this.buildHeaders().append('skip', 'true'))).pipe(map(accessToken => this.
|
50
|
+
return this.http.post('api/authenticator/oauth/token', body, this.options(this.buildParams(), this.buildHeaders().append('skip', 'true'))).pipe(map(accessToken => this.setSession(accessToken)), takeUntil(this.onDestroy), catchError(this.handleError));
|
50
51
|
}
|
51
52
|
revokeToken(token) {
|
52
53
|
let lHttpHeaders = null;
|
@@ -55,27 +56,32 @@ let AuthenticationService = class AuthenticationService extends AbstractService
|
|
55
56
|
.append('Authorization', token.accessToken)
|
56
57
|
.append('skip', 'true');
|
57
58
|
}
|
58
|
-
return this.http.post('api/authenticator/oauth/token/revoke', {}, this.options(null, lHttpHeaders));
|
59
|
-
}
|
60
|
-
isValidToken(token) {
|
61
|
-
if (!ObjectUtil.isNull(token) && !ObjectUtil.isNull(token.expiration)) {
|
62
|
-
return new Date(token.expiration).valueOf() > new Date().valueOf();
|
63
|
-
}
|
64
|
-
return false;
|
59
|
+
return this.http.post('api/authenticator/oauth/token/revoke', {}, this.options(null, lHttpHeaders)).pipe(takeUntil(this.onDestroy), catchError(this.handleError));
|
65
60
|
}
|
66
|
-
|
67
|
-
if (token
|
61
|
+
setSession(token) {
|
62
|
+
if (this.isValidToken(token)) {
|
68
63
|
localStorage.setItem('token', JSON.stringify(token));
|
69
|
-
this.
|
64
|
+
this._tokenSubject$.next(token);
|
70
65
|
}
|
71
66
|
return token;
|
72
67
|
}
|
73
|
-
|
74
|
-
|
68
|
+
removeSession() {
|
69
|
+
localStorage.removeItem('token');
|
70
|
+
sessionStorage.clear();
|
75
71
|
}
|
76
|
-
|
72
|
+
isValidToken(token) {
|
73
|
+
if (!ObjectUtil.isNull(token) && !ObjectUtil.isNull(token.expiration)) {
|
74
|
+
const tokenExpiration = moment(token.expiration);
|
75
|
+
return moment().isBefore(tokenExpiration);
|
76
|
+
}
|
77
|
+
return false;
|
78
|
+
}
|
79
|
+
get token() {
|
77
80
|
const token = localStorage.getItem('token');
|
78
|
-
|
81
|
+
if (StringUtil.isEmpty(token)) {
|
82
|
+
return null;
|
83
|
+
}
|
84
|
+
return JSON.parse(token);
|
79
85
|
}
|
80
86
|
buildHeaders() {
|
81
87
|
return new HttpHeaders()
|
@@ -96,4 +102,4 @@ AuthenticationService = __decorate([
|
|
96
102
|
HttpClient])
|
97
103
|
], AuthenticationService);
|
98
104
|
export { AuthenticationService };
|
99
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aGVudGljYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BnaXBpc2lzdGVtYXMvbmctY29yZS8iLCJzb3VyY2VzIjpbImNvcmUvc2VydmljZXMvYXV0aGVudGljYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDM0UsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUNuRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckMsT0FBTyxLQUFLLE9BQU8sTUFBTSxRQUFRLENBQUM7Ozs7QUFDbEMsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDO0FBSXZCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBR3JELElBQWEscUJBQXFCLEdBQWxDLE1BQWEscUJBQTBDLFNBQVEsZUFBZTtJQU0xRSxZQUNjLE1BQWMsRUFDZCxJQUFnQjtRQUUxQixLQUFLLEVBQUUsQ0FBQztRQUhFLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxTQUFJLEdBQUosSUFBSSxDQUFZO1FBRzFCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxlQUFlLENBQWMsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoRyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxF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YUFDM0IsTUFBTSxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzdELENBQUM7Q0FFSixDQUFBOztZQXZGeUIsTUFBTTtZQUNSLFVBQVU7OztBQVJyQixxQkFBcUI7SUFEakMsVUFBVSxDQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxDQUFDO3FDQVFULE1BQU07UUFDUixVQUFVO0dBUnJCLHFCQUFxQixDQThGakM7U0E5RlkscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMsIEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCAqIGFzIG1vbWVudF8gZnJvbSAnbW9tZW50JztcbmNvbnN0IG1vbWVudCA9IG1vbWVudF87XG5cbmltcG9ydCB7IEJhc2VVc2VyIH0gZnJvbSAnLi4vbW9kZWxzL2Jhc2UtdXNlci5tb2RlbCc7XG5pbXBvcnQgeyBUb2tlbkRUTyB9IGZyb20gJy4uL21vZGVscy9kdG8vdG9rZW4uZHRvJztcbmltcG9ydCB7IE9iamVjdFV0aWwgfSBmcm9tICcuLi91dGlscy9vYmplY3QudXRpbCc7XG5pbXBvcnQgeyBTdHJpbmdVdGlsIH0gZnJvbSAnLi4vdXRpbHMvc3RyaW5nLnV0aWwnO1xuaW1wb3J0IHsgQWJzdHJhY3RTZXJ2aWNlIH0gZnJvbSAnLi9hYnN0cmFjdC5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBBdXRoZW50aWNhdGlvblNlcnZpY2U8VSBleHRlbmRzIEJhc2VVc2VyPiBleHRlbmRzIEFic3RyYWN0U2VydmljZSB7XG5cbiAgICBwcm90ZWN0ZWQgdG9rZW5TdWJqZWN0OiBCZWhhdmlvclN1YmplY3Q8VG9rZW5EVE88VT4+O1xuXG4gICAgdG9rZW46IE9ic2VydmFibGU8VG9rZW5EVE88VT4+O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByb3RlY3RlZCByb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgcHJvdGVjdGVkIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMudG9rZW5TdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUb2tlbkRUTzxVPj4oSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndG9rZW4nKSkpO1xuICAgICAgICB0aGlzLnRva2VuID0gdGhpcy50b2tlblN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgbG9naW4odXNlcjogVSk6IE9ic2VydmFibGU8VG9rZW5EVE88VT4+IHtcbiAgICAgICAgY29uc3QgYm9keTogSHR0cFBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKClcbiAgICAgICAgICAgIC5zZXQoJ2dyYW50X3R5cGUnLCAncGFzc3dvcmQnKVxuICAgICAgICAgICAgLnNldCgndXNlcm5hbWUnLCB1c2VyLnVzZXJuYW1lKVxuICAgICAgICAgICAgLnNldCgncGFzc3dvcmQnLCB1c2VyLnBhc3N3b3JkKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8VG9rZW5EVE88VT4+KCdhcGkvYXV0aGVudGljYXRvci9vYXV0aC90b2tlbicsIGJvZHksIHRoaXMub3B0aW9ucygpKS5waXBlKFxuICAgICAgICAgICAgbWFwKGFjY2Vzc1Rva2VuID0+IHRoaXMuc2V0Q3VycmVudFVzZXIoYWNjZXNzVG9rZW4pKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGFzeW5jIGxvZ291dCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgYXdhaXQgdGhpcy5yZXZva2VUb2tlbigpLnRvUHJvbWlzZSgpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5yZW1vdmVUb2tlbigpO1xuICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvb2F1dGgvbG9naW4nXSwgeyBxdWVyeVBhcmFtczogeyByZXR1cm5Vcmw6IHRoaXMucm91dGVyLnJvdXRlclN0YXRlLnNuYXBzaG90LnVybCB9IH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICByZW1vdmVUb2tlbigpOiB2b2lkIHtcbiAgICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oJ3Rva2VuJyk7XG4gICAgICAgIHRoaXMudG9rZW5TdWJqZWN0Lm5leHQobnVsbCk7XG4gICAgfVxuXG4gICAgcmVmcmVzaFRva2VuKGFkZGl0aW9uYWxQYXJhbXM/OiBNYXA8YW55LCBhbnk+KTogT2JzZXJ2YWJsZTxUb2tlbkRUTzxVPj4ge1xuICAgICAgICBsZXQgYm9keTogSHR0cFBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKClcbiAgICAgICAgICAgIC5zZXQoJ2dyYW50X3R5cGUnLCAncmVmcmVzaF90b2tlbicpXG4gICAgICAgICAgICAuc2V0KCdyZWZyZXNoX3Rva2VuJywgdGhpcy50b2tlblZhbHVlLnJlZnJlc2hUb2tlbik7XG5cbiAgICAgICAgaWYgKCFPYmplY3RVdGlsLmlzTnVsbChhZGRpdGlvbmFsUGFyYW1zKSkge1xuICAgICAgICAgICAgYWRkaXRpb25hbFBhcmFtcy5mb3JFYWNoKCh2YWx1ZSwga2V5KSA9PiBib2R5ID0gYm9keS5hcHBlbmQoa2V5LCB2YWx1ZSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFRva2VuRFRPPFU+PignYXBpL2F1dGhlbnRpY2F0b3Ivb2F1dGgvdG9rZW4nLCBib2R5LCB0aGlzLm9wdGlvbnModGhpcy5idWlsZFBhcmFtcygpLCB0aGlzLmJ1aWxkSGVhZGVycygpLmFwcGVuZCgnc2tpcCcsICd0cnVlJykpKS5waXBlKFxuICAgICAgICAgICAgbWFwKGFjY2Vzc1Rva2VuID0+IHRoaXMuc2V0Q3VycmVudFVzZXIoYWNjZXNzVG9rZW4pKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHJldm9rZVRva2VuKHRva2VuPzogVG9rZW5EVE88VT4pOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICBsZXQgbEh0dHBIZWFkZXJzOiBIdHRwSGVhZGVycyA9IG51bGw7XG4gICAgICAgIGlmICghT2JqZWN0VXRpbC5pc051bGwodG9rZW4pKSB7XG4gICAgICAgICAgICBsSHR0cEhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKVxuICAgICAgICAgICAgICAgIC5hcHBlbmQoJ0F1dGhvcml6YXRpb24nLCB0b2tlbi5hY2Nlc3NUb2tlbilcbiAgICAgICAgICAgICAgICAuYXBwZW5kKCdza2lwJywgJ3RydWUnKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoJ2FwaS9hdXRoZW50aWNhdG9yL29hdXRoL3Rva2VuL3Jldm9rZScsIHt9LCB0aGlzLm9wdGlvbnMobnVsbCwgbEh0dHBIZWFkZXJzKSk7XG4gICAgfVxuXG4gICAgaXNWYWxpZFRva2VuKHRva2VuOiBUb2tlbkRUTzxVPik6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoIU9iamVjdFV0aWwuaXNOdWxsKHRva2VuKSAmJiAhT2JqZWN0VXRpbC5pc051bGwodG9rZW4uZXhwaXJhdGlvbikpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRGF0ZSh0b2tlbi5leHBpcmF0aW9uKS52YWx1ZU9mKCkgPiBuZXcgRGF0ZSgpLnZhbHVlT2YoKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHNldEN1cnJlbnRVc2VyKHRva2VuOiBUb2tlbkRUTzxVPik6IFRva2VuRFRPPFU+IHtcbiAgICAgICAgaWYgKHRva2VuICYmIHRva2VuLmFjY2Vzc1Rva2VuKSB7XG4gICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgndG9rZW4nLCBKU09OLnN0cmluZ2lmeSh0b2tlbikpO1xuICAgICAgICAgICAgdGhpcy50b2tlblN1YmplY3QubmV4dCh0b2tlbik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRva2VuO1xuICAgIH1cblxuICAgIGdldCB0b2tlblZhbHVlKCk6IFRva2VuRFRPPFU+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMudG9rZW5TdWJqZWN0LnZhbHVlO1xuICAgIH1cblxuICAgIGdldCB0b2tlblZhbHVlTG9jYWxTdG9yYWdlKCk6IFRva2VuRFRPPFU+IHtcbiAgICAgICAgY29uc3QgdG9rZW46IHN0cmluZyA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCd0b2tlbicpO1xuICAgICAgICByZXR1cm4gIVN0cmluZ1V0aWwuaXNFbXB0eSh0b2tlbikgPyBKU09OLnBhcnNlKHRva2VuKSA6IG51bGw7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGJ1aWxkSGVhZGVycygpOiBIdHRwSGVhZGVycyB7XG4gICAgICAgIHJldHVybiBuZXcgSHR0cEhlYWRlcnMoKVxuICAgICAgICAgICAgLmFwcGVuZCgnQXV0aG9yaXphdGlvbicsICdCYXNpYyAnICsgYnRvYSgnQ09OVkVOQU5UX01BTkFHRU1FTlQ6MTIzJykpXG4gICAgICAgICAgICAuYXBwZW5kKCdDb250ZW50LVR5cGUnLCAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJylcbiAgICAgICAgICAgIC5hcHBlbmQoJ2FjY2Vzc1R5cGUnLCAnV0VCJylcbiAgICAgICAgICAgIC5hcHBlbmQoJ3RpbWVab25lJywgbW9tZW50KG5ldyBEYXRlKCkpLmZvcm1hdCgnWlonKSk7XG4gICAgfVxuXG59XG4iXX0=
|
105
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aGVudGljYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BnaXBpc2lzdGVtYXMvbmctY29yZS8iLCJzb3VyY2VzIjpbImNvcmUvc2VydmljZXMvYXV0aGVudGljYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDM0UsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUNuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU1RCxPQUFPLEtBQUssT0FBTyxNQUFNLFFBQVEsQ0FBQzs7OztBQUNsQyxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUM7QUFJdkIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFHckQsSUFBYSxxQkFBcUIsR0FBbEMsTUFBYSxxQkFBMEMsU0FBUSxlQUFlO0lBSzFFLFlBQ2MsTUFBYyxFQUNkLElBQWdCO1FBRTFCLEtBQUssRUFBRSxDQUFDO1FBSEUsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLFNBQUksR0FBSixJQUFJLENBQVk7UUFHMUIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3JGLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNyRCxDQUFDO0lBRU0sS0FBSyxDQUFDLFFBQWdCLEVBQUUsUUFBZ0I7UUFDM0MsTUFBTSxJQUFJLEdBQWUsSUFBSSxVQUFVLEVBQUU7YUFDcEMsR0FBRyxDQUFDLFlBQVksRUFBRSxVQUFVLENBQUM7YUFDN0IsR0FBRyxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUM7YUFDekIsR0FBRyxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUUvQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUNqQiwrQkFBK0IsRUFDL0IsSUFBSSxFQUNKLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQ3JGLENBQUMsSUFBSSxDQUNGLEdBQUcsQ0FBQyxDQUFDLEtBQWtCLEVBQUUsRUFBRTtZQUN2QixJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQzFCLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDMUI7WUFDRCxPQUFPLEtBQUssQ0FBQztRQUNqQixDQUFDLENBQUMsRUFDRixTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUN6QixVQUFVLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUMvQixDQUFDO0lBQ04sQ0FBQztJQUVNLE1BQU07UUFDVCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQzdCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxFQUFFLEVBQUUsV0FBVyxFQUFFLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDakgsQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUFFO1lBQ1AsTUFBTSxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTSxZQUFZLENBQUMsZ0JBQWdDO1FBQ2hELElBQUksSUFBSSxHQUFlLElBQUksVUFBVSxFQUFFO2FBQ2xDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsZUFBZSxDQUFDO2FBQ2xDLEdBQUcsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUVuRCxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFO1lBQ3RDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1NBQzVFO1FBRUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBYywrQkFBK0IsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDeEosR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUNoRCxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUN6QixVQUFVLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUMvQixDQUFDO0lBQ04sQ0FBQztJQUVNLFdBQVcsQ0FBQyxLQUFtQjtRQUNsQyxJQUFJLFlBQVksR0FBZ0IsSUFBSSxDQUFDO1FBQ3JDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzNCLFlBQVksR0FBRyxJQUFJLFdBQVcsRUFBRTtpQkFDM0IsTUFBTSxDQUFDLGVBQWUsRUFBRSxLQUFLLENBQUMsV0FBVyxDQUFDO2lCQUMxQyxNQUFNLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1NBQy9CO1FBQ0QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxzQ0FBc0MsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ3BHLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQ3pCLFVBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQy9CLENBQUM7SUFDTixDQUFDO0lBRVMsVUFBVSxDQUFDLEtBQWtCO1FBQ25DLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUMxQixZQUFZLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDckQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDbkM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRU0sYUFBYTtRQUNoQixZQUFZLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2pDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRU0sWUFBWSxDQUFDLEtBQWtCO1FBQ2xDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDbkUsTUFBTSxlQUFlLEdBQWtCLE1BQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDaEUsT0FBTyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLENBQUM7U0FDN0M7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRUQsSUFBVyxLQUFLO1FBQ1osTUFBTSxLQUFLLEdBQVcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwRCxJQUFJLFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDM0IsT0FBTyxJQUFJLENBQUM7U0FDZjtRQUNELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRVMsWUFBWTtRQUNsQixPQUFPLElBQUksV0FBVyxFQUFFO2FBQ25CLE1BQU0sQ0FBQyxlQUFlLEVBQUUsUUFBUSxHQUFHLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO2FBQ3BFLE1BQU0sQ0FBQyxjQUFjLEVBQUUsbUNBQW1DLENBQUM7YUFDM0QsTUFBTSxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUM7YUFDM0IsTUFBTSxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzdELENBQUM7Q0FFSixDQUFBOztZQXpHeUIsTUFBTTtZQUNSLFVBQVU7OztBQVByQixxQkFBcUI7SUFEakMsVUFBVSxDQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxDQUFDO3FDQU9ULE1BQU07UUFDUixVQUFVO0dBUHJCLHFCQUFxQixDQStHakM7U0EvR1kscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMsIEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0ICogYXMgbW9tZW50XyBmcm9tICdtb21lbnQnO1xuY29uc3QgbW9tZW50ID0gbW9tZW50XztcblxuaW1wb3J0IHsgQmFzZVVzZXIgfSBmcm9tICcuLi9tb2RlbHMvYmFzZS11c2VyLm1vZGVsJztcbmltcG9ydCB7IFRva2VuRFRPIH0gZnJvbSAnLi4vbW9kZWxzL2R0by90b2tlbi5kdG8nO1xuaW1wb3J0IHsgT2JqZWN0VXRpbCB9IGZyb20gJy4uL3V0aWxzL29iamVjdC51dGlsJztcbmltcG9ydCB7IFN0cmluZ1V0aWwgfSBmcm9tICcuLi91dGlscy9zdHJpbmcudXRpbCc7XG5pbXBvcnQgeyBBYnN0cmFjdFNlcnZpY2UgfSBmcm9tICcuL2Fic3RyYWN0LnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEF1dGhlbnRpY2F0aW9uU2VydmljZTxVIGV4dGVuZHMgQmFzZVVzZXI+IGV4dGVuZHMgQWJzdHJhY3RTZXJ2aWNlIHtcblxuICAgIHByaXZhdGUgX3Rva2VuU3ViamVjdCQ6IEJlaGF2aW9yU3ViamVjdDxUb2tlbkRUTzxVPj47XG4gICAgcHVibGljIHRva2VuJDogT2JzZXJ2YWJsZTxUb2tlbkRUTzxVPj47XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJvdGVjdGVkIHJvdXRlcjogUm91dGVyLFxuICAgICAgICBwcm90ZWN0ZWQgaHR0cDogSHR0cENsaWVudCxcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5fdG9rZW5TdWJqZWN0JCA9IG5ldyBCZWhhdmlvclN1YmplY3QoSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndG9rZW4nKSkpO1xuICAgICAgICB0aGlzLnRva2VuJCA9IHRoaXMuX3Rva2VuU3ViamVjdCQuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGxvZ2luKHVzZXJuYW1lOiBzdHJpbmcsIHBhc3N3b3JkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFRva2VuRFRPPFU+PiB7XG4gICAgICAgIGNvbnN0IGJvZHk6IEh0dHBQYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpXG4gICAgICAgICAgICAuc2V0KCdncmFudF90eXBlJywgJ3Bhc3N3b3JkJylcbiAgICAgICAgICAgIC5zZXQoJ3VzZXJuYW1lJywgdXNlcm5hbWUpXG4gICAgICAgICAgICAuc2V0KCdwYXNzd29yZCcsIHBhc3N3b3JkKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8VG9rZW5EVE88VT4+KFxuICAgICAgICAgICAgJ2FwaS9hdXRoZW50aWNhdG9yL29hdXRoL3Rva2VuJyxcbiAgICAgICAgICAgIGJvZHksXG4gICAgICAgICAgICB0aGlzLm9wdGlvbnModGhpcy5idWlsZFBhcmFtcygpLCB0aGlzLmJ1aWxkSGVhZGVycygpLmFwcGVuZCgnc2tpcCcsIFN0cmluZyh0cnVlKSkpXG4gICAgICAgICkucGlwZShcbiAgICAgICAgICAgIG1hcCgodG9rZW46IFRva2VuRFRPPFU+KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNWYWxpZFRva2VuKHRva2VuKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNldFNlc3Npb24odG9rZW4pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gdG9rZW47XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSksXG4gICAgICAgICAgICBjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBsb2dvdXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmV2b2tlVG9rZW4oKS5zdWJzY3JpYmUoXyA9PiB7XG4gICAgICAgICAgICB0aGlzLnJlbW92ZVNlc3Npb24oKTtcbiAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL29hdXRoL2xvZ2luJ10sIHsgcXVlcnlQYXJhbXM6IHsgcmV0dXJuVXJsOiB0aGlzLnJvdXRlci5yb3V0ZXJTdGF0ZS5zbmFwc2hvdC51cmwgfSB9KTtcbiAgICAgICAgfSwgZXJyb3IgPT4ge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIHJlZnJlc2hUb2tlbihhZGRpdGlvbmFsUGFyYW1zPzogTWFwPGFueSwgYW55Pik6IE9ic2VydmFibGU8VG9rZW5EVE88VT4+IHtcbiAgICAgICAgbGV0IGJvZHk6IEh0dHBQYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpXG4gICAgICAgICAgICAuc2V0KCdncmFudF90eXBlJywgJ3JlZnJlc2hfdG9rZW4nKVxuICAgICAgICAgICAgLnNldCgncmVmcmVzaF90b2tlbicsIHRoaXMudG9rZW4ucmVmcmVzaFRva2VuKTtcblxuICAgICAgICBpZiAoIU9iamVjdFV0aWwuaXNOdWxsKGFkZGl0aW9uYWxQYXJhbXMpKSB7XG4gICAgICAgICAgICBhZGRpdGlvbmFsUGFyYW1zLmZvckVhY2goKHZhbHVlLCBrZXkpID0+IGJvZHkgPSBib2R5LmFwcGVuZChrZXksIHZhbHVlKSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8VG9rZW5EVE88VT4+KCdhcGkvYXV0aGVudGljYXRvci9vYXV0aC90b2tlbicsIGJvZHksIHRoaXMub3B0aW9ucyh0aGlzLmJ1aWxkUGFyYW1zKCksIHRoaXMuYnVpbGRIZWFkZXJzKCkuYXBwZW5kKCdza2lwJywgJ3RydWUnKSkpLnBpcGUoXG4gICAgICAgICAgICBtYXAoYWNjZXNzVG9rZW4gPT4gdGhpcy5zZXRTZXNzaW9uKGFjY2Vzc1Rva2VuKSksXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5vbkRlc3Ryb3kpLFxuICAgICAgICAgICAgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmV2b2tlVG9rZW4odG9rZW4/OiBUb2tlbkRUTzxVPik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIGxldCBsSHR0cEhlYWRlcnM6IEh0dHBIZWFkZXJzID0gbnVsbDtcbiAgICAgICAgaWYgKCFPYmplY3RVdGlsLmlzTnVsbCh0b2tlbikpIHtcbiAgICAgICAgICAgIGxIdHRwSGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpXG4gICAgICAgICAgICAgICAgLmFwcGVuZCgnQXV0aG9yaXphdGlvbicsIHRva2VuLmFjY2Vzc1Rva2VuKVxuICAgICAgICAgICAgICAgIC5hcHBlbmQoJ3NraXAnLCAndHJ1ZScpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCgnYXBpL2F1dGhlbnRpY2F0b3Ivb2F1dGgvdG9rZW4vcmV2b2tlJywge30sIHRoaXMub3B0aW9ucyhudWxsLCBsSHR0cEhlYWRlcnMpKS5waXBlKFxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMub25EZXN0cm95KSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvciksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHNldFNlc3Npb24odG9rZW46IFRva2VuRFRPPFU+KTogVG9rZW5EVE88VT4ge1xuICAgICAgICBpZiAodGhpcy5pc1ZhbGlkVG9rZW4odG9rZW4pKSB7XG4gICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgndG9rZW4nLCBKU09OLnN0cmluZ2lmeSh0b2tlbikpO1xuICAgICAgICAgICAgdGhpcy5fdG9rZW5TdWJqZWN0JC5uZXh0KHRva2VuKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdG9rZW47XG4gICAgfVxuXG4gICAgcHVibGljIHJlbW92ZVNlc3Npb24oKTogdm9pZCB7XG4gICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCd0b2tlbicpO1xuICAgICAgICBzZXNzaW9uU3RvcmFnZS5jbGVhcigpO1xuICAgIH1cblxuICAgIHB1YmxpYyBpc1ZhbGlkVG9rZW4odG9rZW46IFRva2VuRFRPPFU+KTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghT2JqZWN0VXRpbC5pc051bGwodG9rZW4pICYmICFPYmplY3RVdGlsLmlzTnVsbCh0b2tlbi5leHBpcmF0aW9uKSkge1xuICAgICAgICAgICAgY29uc3QgdG9rZW5FeHBpcmF0aW9uOiBtb21lbnQuTW9tZW50ID0gbW9tZW50KHRva2VuLmV4cGlyYXRpb24pO1xuICAgICAgICAgICAgcmV0dXJuIG1vbWVudCgpLmlzQmVmb3JlKHRva2VuRXhwaXJhdGlvbik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgdG9rZW4oKTogVG9rZW5EVE88VT4ge1xuICAgICAgICBjb25zdCB0b2tlbjogc3RyaW5nID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3Rva2VuJyk7XG4gICAgICAgIGlmIChTdHJpbmdVdGlsLmlzRW1wdHkodG9rZW4pKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gSlNPTi5wYXJzZSh0b2tlbik7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGJ1aWxkSGVhZGVycygpOiBIdHRwSGVhZGVycyB7XG4gICAgICAgIHJldHVybiBuZXcgSHR0cEhlYWRlcnMoKVxuICAgICAgICAgICAgLmFwcGVuZCgnQXV0aG9yaXphdGlvbicsICdCYXNpYyAnICsgYnRvYSgnQ09OVkVOQU5UX01BTkFHRU1FTlQ6MTIzJykpXG4gICAgICAgICAgICAuYXBwZW5kKCdDb250ZW50LVR5cGUnLCAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJylcbiAgICAgICAgICAgIC5hcHBlbmQoJ2FjY2Vzc1R5cGUnLCAnV0VCJylcbiAgICAgICAgICAgIC5hcHBlbmQoJ3RpbWVab25lJywgbW9tZW50KG5ldyBEYXRlKCkpLmZvcm1hdCgnWlonKSk7XG4gICAgfVxuXG59XG4iXX0=
|
package/esm2015/core.js
CHANGED
@@ -8,7 +8,6 @@ export * from './core/core.module';
|
|
8
8
|
export * from './core/enums/local-time.enum';
|
9
9
|
export * from './core/guards/auth.guard';
|
10
10
|
export * from './core/guards/permission.guard';
|
11
|
-
export * from './core/guards/public.guard';
|
12
11
|
export * from './core/interceptors/auth.interceptor';
|
13
12
|
export * from './core/interceptors/error.interceptor';
|
14
13
|
export * from './core/models/abstract.model';
|
@@ -86,4 +85,4 @@ export * from './core/gipi-components/services/file.service';
|
|
86
85
|
export * from './core/gipi-components/services/session-storage.service';
|
87
86
|
export * from './core/gipi-components/types/generic.type';
|
88
87
|
export * from './core/gipi-components/types/uuid.type';
|
89
|
-
//# sourceMappingURL=data:application/json;base64,
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BnaXBpc2lzdGVtYXMvbmctY29yZS8iLCJzb3VyY2VzIjpbImNvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYywwQkFBMEIsQ0FBQztBQUV6QyxjQUFjLDJCQUEyQixDQUFDO0FBRTFDLGNBQWMsMkRBQTJELENBQUM7QUFDMUUsY0FBYywyREFBMkQsQ0FBQztBQUMxRSxjQUFjLHNEQUFzRCxDQUFDO0FBQ3JFLGNBQWMsdURBQXVELENBQUM7QUFDdEUsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLDBEQUEwRCxDQUFDO0FBQ3pFLGNBQWMsMERBQTBELENBQUM7QUFDekUsY0FBYyxxREFBcUQsQ0FBQztBQUNwRSxjQUFjLHFEQUFxRCxDQUFDO0FBQ3BFLGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsdURBQXVELENBQUM7QUFDdEUsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyx5REFBeUQsQ0FBQztBQUN4RSxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsd0NBQXdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvcmUvYXBwLW1lc3NhZ2VzJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS9hcHAubWVzc2FnZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL2NvbXBvbmVudHMvYWJzdHJhY3QtY3J1ZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL2NvbXBvbmVudHMvYWJzdHJhY3QtZmluZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL2NvbXBvbmVudHMvYWJzdHJhY3QuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS9jb21wb25lbnRzL2FsZXJ0L2FsZXJ0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvY29yZS5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL2VudW1zL2xvY2FsLXRpbWUuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvZ3VhcmRzL2F1dGguZ3VhcmQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL2d1YXJkcy9wZXJtaXNzaW9uLmd1YXJkJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS9pbnRlcmNlcHRvcnMvYXV0aC5pbnRlcmNlcHRvcic7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvaW50ZXJjZXB0b3JzL2Vycm9yLmludGVyY2VwdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS9tb2RlbHMvYWJzdHJhY3QubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL21vZGVscy9hcmNoaXZlLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS9tb2RlbHMvYmFzZS11c2VyLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS9tb2RlbHMvZHRvL2Fic3RyYWN0LmR0byc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvbW9kZWxzL2R0by9jaGFydC5kdG8nO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL21vZGVscy9kdG8vY29uZmlybWF0aW9uLmR0byc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvbW9kZWxzL2R0by9kaWFsb2cuZHRvJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS9tb2RlbHMvZHRvL2ZpbHRlci5kdG8nO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL21vZGVscy9kdG8vaW5wdXQtbGlzdGJveC5kdG8nO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL21vZGVscy9kdG8vbWVudS5kdG8nO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL21vZGVscy9kdG8vbWVzc2FnZS5kdG8nO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL21vZGVscy9kdG8vcGFnZS5kdG8nO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL21vZGVscy9kdG8vc29ydC5kdG8nO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL21vZGVscy9kdG8vdGFiLmR0byc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvbW9kZWxzL2R0by90YWJsZS1jb2x1bW4uZHRvJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS9tb2RlbHMvZHRvL3Rva2VuLmR0byc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvbW9kZWxzL2VudW1zL2NyaXRlcmlhLW9wZXJhdGlvbi5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS9tb2RlbHMvZW51bXMvY3JpdGVyaWEtc29ydC1kaXJlY3Rpb24uZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvbW9kZWxzL2VudW1zL21lbnUtdHlwZS5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS9tb2RlbHMvZW51bXMvcmFkaW8tYnV0dG9uLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL21vZGVscy9lbnVtcy9zb3J0LWRpcmVjdGlvbi5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS9tb2RlbHMvbXVsdGl0ZW5hbnQubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL21vZGVscy9wZXJtaXNzaW9uLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS9tb2RlbHMvcm9sZS5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvcGlwZXMvbG9jYWwtdGltZS5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS9zZXJ2aWNlcy9hYnN0cmFjdC1jcnVkLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL3NlcnZpY2VzL2Fic3RyYWN0LWZpbmQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvc2VydmljZXMvYWJzdHJhY3Quc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvc2VydmljZXMvYXV0aGVudGljYXRpb24uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvc2VydmljZXMvYnJlYWtwb2ludC1vYnNlcnZlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS9zZXJ2aWNlcy9jb25maXJtYXRpb24uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvc2VydmljZXMvZGlhbG9nLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL3NlcnZpY2VzL21lc3NhZ2Uuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvc2VydmljZXMvbmF2LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL3NlcnZpY2VzL3N2Zy1yZWdpc3Rlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS90eXBlcy9sb2NhbC10aW1lLnR5cGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL3V0aWxzL2FycmF5LnV0aWwnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL3V0aWxzL2Jyb3dzZXIudXRpbCc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvdXRpbHMvY3VycmVuY3kudXRpbCc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvdXRpbHMvZGF0ZS51dGlsJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS91dGlscy9kb2N1bWVudC51dGlsJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS91dGlscy9lbWFpbC51dGlsJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS91dGlscy9udW1iZXIudXRpbCc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvdXRpbHMvb2JqZWN0LnV0aWwnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL3V0aWxzL3Bhc3N3b3JkLnV0aWwnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL3V0aWxzL3Bob25lLnV0aWwnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL3V0aWxzL3N0cmluZy51dGlsJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS91dGlscy90YWJsZS1jb2x1bW4tYnVpbGRlcic7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvdXRpbHMvdGltZS51dGlsJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS91dGlscy91cmwtcGFyYW1zLnV0aWwnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL3V0aWxzL3V1aWQudXRpbCc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvdXRpbHMvemluZGV4LnV0aWwnO1xuXG5leHBvcnQgKiBmcm9tICcuL2NvcmUvY3VzdG9tLWJyZWFrcG9pbnRzJztcblxuZXhwb3J0ICogZnJvbSAnLi9jb3JlL2dpcGktY29tcG9uZW50cy9jb21wb25lbnRzL2Fic3RyYWN0LWNydWQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS9naXBpLWNvbXBvbmVudHMvY29tcG9uZW50cy9hYnN0cmFjdC1maW5kLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvZ2lwaS1jb21wb25lbnRzL2NvbXBvbmVudHMvYWJzdHJhY3QuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS9naXBpLWNvbXBvbmVudHMvZGVjb3JhdG9ycy9hdXRvd2lyZWQuZGVjb3JhdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS9naXBpLWNvbXBvbmVudHMvZW51bXMvc29ydC1kaXJlY3Rpb24uZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvZ2lwaS1jb21wb25lbnRzL2ludGVyZmFjZS9hYnN0cmFjdC1jcnVkLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvZ2lwaS1jb21wb25lbnRzL2ludGVyZmFjZS9hYnN0cmFjdC1maW5kLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvZ2lwaS1jb21wb25lbnRzL2ludGVyZmFjZS9hYnN0cmFjdC5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL2dpcGktY29tcG9uZW50cy9tb2RlbHMvYWJzdHJhY3QtZmlsdGVyLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS9naXBpLWNvbXBvbmVudHMvbW9kZWxzL2Fic3RyYWN0Lm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS9naXBpLWNvbXBvbmVudHMvbW9kZWxzL2FwcGxpZWQtZmlsdGVyLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS9naXBpLWNvbXBvbmVudHMvbW9kZWxzL2R0by9hYnN0cmFjdC5kdG8nO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL2dpcGktY29tcG9uZW50cy9tb2RlbHMvcGFnZS1ldmVudC5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvZ2lwaS1jb21wb25lbnRzL21vZGVscy9wYWdlLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS9naXBpLWNvbXBvbmVudHMvbW9kZWxzL3NvcnQubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL2dpcGktY29tcG9uZW50cy9zZXJ2aWNlcy9hYnN0cmFjdC1jcnVkLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL2dpcGktY29tcG9uZW50cy9zZXJ2aWNlcy9hYnN0cmFjdC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS9naXBpLWNvbXBvbmVudHMvc2VydmljZXMvYmFzZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS9naXBpLWNvbXBvbmVudHMvc2VydmljZXMvZmlsZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS9naXBpLWNvbXBvbmVudHMvc2VydmljZXMvc2Vzc2lvbi1zdG9yYWdlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL2dpcGktY29tcG9uZW50cy90eXBlcy9nZW5lcmljLnR5cGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL2dpcGktY29tcG9uZW50cy90eXBlcy91dWlkLnR5cGUnO1xuXG4iXX0=
|