frontend: add clearRoomSessionGuard to remove room session data on console route entry
This commit is contained in:
parent
9a2597a997
commit
9db0e8b29e
@ -0,0 +1,23 @@
|
||||
import { inject } from '@angular/core';
|
||||
import { CanActivateFn } from '@angular/router';
|
||||
import { SessionStorageService } from '../../../shared/services/session-storage.service';
|
||||
import { RoomMemberContextService } from '../../room-members/services/room-member-context.service';
|
||||
|
||||
/**
|
||||
* Guard that clears room-related session data when entering console routes.
|
||||
* This ensures roomSecret, e2eeData and room member context are only removed when navigating to console,
|
||||
* not when leaving a meeting to go to other non-console pages (like disconnected, room recordings, etc.)
|
||||
*/
|
||||
export const clearRoomSessionGuard: CanActivateFn = () => {
|
||||
const sessionStorageService = inject(SessionStorageService);
|
||||
const roomMemberContextService = inject(RoomMemberContextService);
|
||||
|
||||
// Clear room member context
|
||||
roomMemberContextService.clearContext();
|
||||
|
||||
// Clear room-related data from session storage
|
||||
sessionStorageService.removeRoomSecret();
|
||||
sessionStorageService.removeE2EEData();
|
||||
|
||||
return true;
|
||||
};
|
||||
@ -0,0 +1 @@
|
||||
export * from './clear-room-session.guard';
|
||||
@ -1,2 +1,3 @@
|
||||
export * from './components';
|
||||
export * from './guards';
|
||||
export * from './pages';
|
||||
|
||||
@ -4,6 +4,7 @@ import { checkUserAuthenticatedGuard } from '../../auth/guards/auth.guard';
|
||||
import { recordingsConsoleRoutes } from '../../recordings/routes/recordings.routes';
|
||||
import { roomsConsoleRoutes } from '../../rooms/routes/rooms.routes';
|
||||
import { usersConsoleRoutes } from '../../users/routes/users.routes';
|
||||
import { clearRoomSessionGuard } from '../guards/clear-room-session.guard';
|
||||
|
||||
/**
|
||||
* All console child routes configuration (includes console pages + rooms + recordings)
|
||||
@ -65,7 +66,7 @@ export const consoleDomainRoutes: Route[] = [
|
||||
{
|
||||
path: '',
|
||||
loadComponent: () => import('../pages/console/console.component').then((m) => m.ConsoleComponent),
|
||||
canActivate: [checkUserAuthenticatedGuard],
|
||||
canActivate: [checkUserAuthenticatedGuard, clearRoomSessionGuard],
|
||||
children: [
|
||||
{
|
||||
path: '',
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user