diff options
author | Tony Hansen <tony@att.com> | 2020-09-23 19:50:45 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@onap.org> | 2020-09-23 19:50:45 +0000 |
commit | d1d83ea8dfcd7c4dd943482bc93e9b699ffaabd8 (patch) | |
tree | b10ccb154430158471fab73c81a5a49ce45ed632 /mod2/ui/src/app/guards/login.guard.ts | |
parent | 04ceefb1f221420c6e27c5aa73b8a574b0e79668 (diff) | |
parent | 457685063fd4b960441e482cc8b88fa8c972a7d2 (diff) |
Merge "Fix mod ui build issues"
Diffstat (limited to 'mod2/ui/src/app/guards/login.guard.ts')
-rw-r--r-- | mod2/ui/src/app/guards/login.guard.ts | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/mod2/ui/src/app/guards/login.guard.ts b/mod2/ui/src/app/guards/login.guard.ts new file mode 100644 index 0000000..851ef61 --- /dev/null +++ b/mod2/ui/src/app/guards/login.guard.ts @@ -0,0 +1,52 @@ +/* + * # ============LICENSE_START======================================================= + * # Copyright (c) 2020 AT&T Intellectual Property. All rights reserved. + * # ================================================================================ + * # Licensed under the Apache License, Version 2.0 (the "License"); + * # you may not use this file except in compliance with the License. + * # You may obtain a copy of the License at + * # + * # http://www.apache.org/licenses/LICENSE-2.0 + * # + * # Unless required by applicable law or agreed to in writing, software + * # distributed under the License is distributed on an "AS IS" BASIS, + * # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * # See the License for the specific language governing permissions and + * # limitations under the License. + * # ============LICENSE_END========================================================= + */ + +import { Injectable } from '@angular/core'; +import { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree, Router } from '@angular/router'; +import { Observable, of } from 'rxjs'; +import { AuthService } from '../services/auth.service'; +import { catchError, map } from 'rxjs/operators'; + +@Injectable({ + providedIn: 'root' +}) +export class LoginGuard implements CanActivate { + constructor( + private authService: AuthService, + private router: Router + ) {} + + canActivate( + next: ActivatedRouteSnapshot, + state: RouterStateSnapshot): Observable<boolean | UrlTree> | Promise<boolean | UrlTree> | boolean | UrlTree { + + return this.authService.checkLogin().pipe(map((e:boolean)=>{ + if(e){ + console.log("Hi this is loginguard"); + this.authService.authPass=true; + this.router.navigate(['/home']); + return true; + } + }), catchError(err=>{ + console.log("Login guard out"); + this.authService.authPass=false; + this.router.navigate(['/login']); + return of(false); + })) +} +} |