diff --git a/frontend/projects/shared-meet-components/src/lib/pages/console/console.component.ts b/frontend/projects/shared-meet-components/src/lib/pages/console/console.component.ts index 11632a5..a4746ee 100644 --- a/frontend/projects/shared-meet-components/src/lib/pages/console/console.component.ts +++ b/frontend/projects/shared-meet-components/src/lib/pages/console/console.component.ts @@ -24,6 +24,6 @@ export class ConsoleComponent { constructor(private authService: AuthService) {} async logout() { - await this.authService.adminLogout(); + await this.authService.logout('console/login'); } } diff --git a/frontend/projects/shared-meet-components/src/lib/pages/console/login/login.component.ts b/frontend/projects/shared-meet-components/src/lib/pages/console/login/login.component.ts index d209b15..c45808b 100644 --- a/frontend/projects/shared-meet-components/src/lib/pages/console/login/login.component.ts +++ b/frontend/projects/shared-meet-components/src/lib/pages/console/login/login.component.ts @@ -43,7 +43,15 @@ export class ConsoleLoginComponent { const { username, password } = this.loginForm.value; try { - await this.authService.adminLogin(username!, password!); + await this.authService.login(username!, password!); + + // Check if the user has the expected role + if (!this.authService.isAdmin()) { + this.authService.logout(); + this.loginErrorMessage = 'Invalid username or password'; + return; + } + this.router.navigate(['console']); } catch (error) { if ((error as HttpErrorResponse).status === 429) { diff --git a/frontend/projects/shared-meet-components/src/lib/pages/login/login.component.ts b/frontend/projects/shared-meet-components/src/lib/pages/login/login.component.ts index e9f325f..606e562 100644 --- a/frontend/projects/shared-meet-components/src/lib/pages/login/login.component.ts +++ b/frontend/projects/shared-meet-components/src/lib/pages/login/login.component.ts @@ -44,8 +44,15 @@ export class LoginComponent { const { username, password } = this.loginForm.value; try { - // TODO: Replace with user login - await this.authService.adminLogin(username!, password!); + await this.authService.login(username!, password!); + + // Check if the user has the expected role + if (this.authService.isAdmin()) { + this.authService.logout(); + this.loginErrorMessage = 'Invalid username or password'; + return; + } + this.router.navigate(['']); } catch (error) { if ((error as HttpErrorResponse).status === 429) { diff --git a/frontend/projects/shared-meet-components/src/lib/pages/room-creator/room-creator.component.ts b/frontend/projects/shared-meet-components/src/lib/pages/room-creator/room-creator.component.ts index 56bea40..2507663 100644 --- a/frontend/projects/shared-meet-components/src/lib/pages/room-creator/room-creator.component.ts +++ b/frontend/projects/shared-meet-components/src/lib/pages/room-creator/room-creator.component.ts @@ -6,7 +6,7 @@ import { MatIconButton, MatButton } from '@angular/material/button'; import { NgClass } from '@angular/common'; import { MatToolbar } from '@angular/material/toolbar'; import { Router } from '@angular/router'; -import { ContextService, HttpService } from '../../services/index'; +import { AuthService, ContextService, HttpService } from '../../services/index'; import { OpenViduMeetRoom, OpenViduMeetRoomOptions } from '../../typings/ce/room'; import { animals, colors, Config, uniqueNamesGenerator } from 'unique-names-generator'; @@ -30,6 +30,7 @@ export class RoomCreatorComponent implements OnInit { constructor( private router: Router, private httpService: HttpService, + private authService: AuthService, private contextService: ContextService ) {} @@ -38,8 +39,7 @@ export class RoomCreatorComponent implements OnInit { this.openviduLogoUrl = this.contextService.getOpenViduLogoUrl(); this.backgroundImageUrl = this.contextService.getBackgroundImageUrl(); - // TODO: Retrieve actual username - this.username = 'user'; + this.username = this.authService.getUsername(); } generateRoomName(event: any) { @@ -53,7 +53,7 @@ export class RoomCreatorComponent implements OnInit { async logout() { try { - await this.httpService.userLogout(); + await this.authService.logout('login'); } catch (error) { console.error('Error doing logout ', error); }