From 9cdba7259f7cfff76594b346f93a7bc0858fcbd2 Mon Sep 17 00:00:00 2001 From: Carlos Santos <4a.santos@gmail.com> Date: Thu, 3 Jul 2025 11:53:15 +0200 Subject: [PATCH] frontend: add admin check to display quick actions in video room --- .../lib/pages/video-room/video-room.component.html | 14 ++++++++------ .../lib/pages/video-room/video-room.component.ts | 4 ++++ .../src/lib/services/auth.service.ts | 4 ++++ 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/frontend/projects/shared-meet-components/src/lib/pages/video-room/video-room.component.html b/frontend/projects/shared-meet-components/src/lib/pages/video-room/video-room.component.html index c591998..8d5a4a4 100644 --- a/frontend/projects/shared-meet-components/src/lib/pages/video-room/video-room.component.html +++ b/frontend/projects/shared-meet-components/src/lib/pages/video-room/video-room.component.html @@ -95,12 +95,14 @@ -
- -
+ @if (isAdmin) { +
+ +
+ } } @else { diff --git a/frontend/projects/shared-meet-components/src/lib/pages/video-room/video-room.component.ts b/frontend/projects/shared-meet-components/src/lib/pages/video-room/video-room.component.ts index 830ee0f..3d8b935 100644 --- a/frontend/projects/shared-meet-components/src/lib/pages/video-room/video-room.component.ts +++ b/frontend/projects/shared-meet-components/src/lib/pages/video-room/video-room.component.ts @@ -105,6 +105,10 @@ export class VideoRoomComponent implements OnInit, OnDestroy { this.wcManagerService.stopCommandsListener(); } + get isAdmin(): boolean { + return this.authService.isAdmin(); + } + async submitAccessRoom() { const { valid, value } = this.participantForm; if (!valid || !value.name?.trim()) { diff --git a/frontend/projects/shared-meet-components/src/lib/services/auth.service.ts b/frontend/projects/shared-meet-components/src/lib/services/auth.service.ts index b9049bb..1e4de55 100644 --- a/frontend/projects/shared-meet-components/src/lib/services/auth.service.ts +++ b/frontend/projects/shared-meet-components/src/lib/services/auth.service.ts @@ -67,6 +67,10 @@ export class AuthService { return this.user?.roles; } + isAdmin(): boolean { + return this.user?.roles.includes(UserRole.ADMIN) || false; + } + private async getAuthenticatedUser(force = false) { if (force || (!this.user && !this.hasCheckAuth)) { try {