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 {