import {UserLogged} from './../models/models'; import {Component, OnInit} from '@angular/core'; import {AuthService} from '../_services/auth-service/auth.service'; import {TokenStorageService} from '../_services/jwt-service/token-storage.service'; import {Role, User} from '../models/models'; import {Router} from '@angular/router'; @Component({ selector: 'app-login', templateUrl: './login.component.html', styleUrls: ['./login.component.scss'], }) export class LoginComponent implements OnInit { form: any = {}; isLoggedIn = false; isLoginFailed = false; errorMessage = ''; roles: any; user: UserLogged; constructor( private authService: AuthService, private tokenStorage: TokenStorageService, private router: Router ) { } ngOnInit(): void { if (this.tokenStorage.getToken()) { this.isLoggedIn = true; this.roles = this.tokenStorage.getUser().roles; } } onSubmit(): void { this.authService.login(this.form).subscribe( (data) => { this.tokenStorage.saveToken(data.accessToken); this.tokenStorage.saveUser(data); this.isLoginFailed = false; this.isLoggedIn = true; this.roles = this.tokenStorage.getUser().roles; this.user = this.tokenStorage.getUser().userDetails; console.log('userLogged -> ', this.user); console.log('userLogged_Roles -> ', this.user.roles); this.reloadPage(); console.log("home"); this.goToHomePage(); }, (err) => { this.errorMessage = err.error.message; this.isLoginFailed = true; } ); // console.log("home"); this.goToHomePage(); } reloadPage(): void { window.location.reload(); this.goToHomePage(); } goToHomePage() { this.router.navigate(['user']); } goToRegister() { this.router.navigate(['/register']); } }