app.ts 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. import { Component } from '@angular/core';
  2. import { RouterLink, RouterOutlet } from '@angular/router';
  3. import {Student} from './student/student';
  4. import {Teacher} from './teacher/teacher';
  5. import {TokenStorageService} from './auth/token-storage.service';
  6. @Component({
  7. selector: 'app-root',
  8. imports: [RouterOutlet, Student, RouterLink, Teacher],
  9. templateUrl: './app.html',
  10. styleUrl: './app.css'
  11. })
  12. export class App {
  13. title = 'better WIKAMP';
  14. private roles?: string[];
  15. authority?: string;
  16. loggedUser?: string;
  17. constructor(private tokenStorage: TokenStorageService) { }
  18. ngOnInit() {
  19. console.log("init");
  20. if (this.tokenStorage.getToken()) {
  21. console.log(this.tokenStorage.getToken());
  22. this.roles = this.tokenStorage.getAuthorities();
  23. this.roles.every(role => {
  24. if (role === 'ROLE_ADMIN') {
  25. this.authority = 'admin';
  26. return false;
  27. } else if (role === 'ROLE_TEACHER') {
  28. this.authority = 'teacher';
  29. return false;
  30. }
  31. this.authority = 'student';
  32. return true;
  33. });
  34. this.loggedUser = this.tokenStorage.getUsername();
  35. }
  36. }
  37. logout() {
  38. this.tokenStorage.signOut();
  39. window.location.reload();
  40. }
  41. }