frontend: Add room creator guard to manage room creation access

This commit is contained in:
juancarmore 2025-03-26 13:38:42 +01:00
parent 355b31b25a
commit ecf70639f7
2 changed files with 20 additions and 0 deletions

View File

@ -4,3 +4,4 @@ export * from './validate-room-access.guard';
export * from './application-mode.guard';
export * from './participant-name.guard';
export * from './replace-moderator-secret.guard';
export * from './room-creator.guard';

View File

@ -0,0 +1,19 @@
import { inject } from '@angular/core';
import { ActivatedRouteSnapshot, CanActivateFn, Router, RouterStateSnapshot } from '@angular/router';
import { ContextService } from 'shared-meet-components';
export const checkRoomCreatorEnabledGuard: CanActivateFn = async (
_route: ActivatedRouteSnapshot,
_state: RouterStateSnapshot
) => {
const contextService = inject(ContextService);
const router = inject(Router);
const isRoomCreatorEnabled = await contextService.canUsersCreateRooms();
if (!isRoomCreatorEnabled) {
router.navigate(['room-creator-disabled']);
return false;
}
return true;
};