From fec108d8025deff446b17fd56bda8fbaf098af82 Mon Sep 17 00:00:00 2001 From: juancarmore Date: Tue, 25 Mar 2025 13:02:02 +0100 Subject: [PATCH] Update role references from Role to UserRole for consistency --- .../participant-validator.middleware.ts | 1 - .../request-validators/recording-validator.middleware.ts | 8 ++------ backend/src/routes/global-preferences.routes.ts | 6 +++--- .../src/lib/guards/{admin-auth.guard.ts => auth.guard.ts} | 4 ++-- .../shared-meet-components/src/lib/guards/index.ts | 2 +- .../shared-meet-components/src/lib/routes/base-routes.ts | 6 +++--- .../src/lib/services/auth/auth.service.ts | 4 ++-- typings/src/user.ts | 4 ++-- 8 files changed, 15 insertions(+), 20 deletions(-) rename frontend/projects/shared-meet-components/src/lib/guards/{admin-auth.guard.ts => auth.guard.ts} (93%) diff --git a/backend/src/middlewares/request-validators/participant-validator.middleware.ts b/backend/src/middlewares/request-validators/participant-validator.middleware.ts index 0e41176..eaae28a 100644 --- a/backend/src/middlewares/request-validators/participant-validator.middleware.ts +++ b/backend/src/middlewares/request-validators/participant-validator.middleware.ts @@ -31,7 +31,6 @@ export const validateParticipantDeletionRequest = (req: Request, res: Response, } req.query = data!; - next(); }; diff --git a/backend/src/middlewares/request-validators/recording-validator.middleware.ts b/backend/src/middlewares/request-validators/recording-validator.middleware.ts index 0870d5a..51ba8b8 100644 --- a/backend/src/middlewares/request-validators/recording-validator.middleware.ts +++ b/backend/src/middlewares/request-validators/recording-validator.middleware.ts @@ -39,12 +39,11 @@ export const BulkDeleteRecordingsSchema = z.object({ return arg; }, - z.array(nonEmptySanitizedString('recordingId')) - .default([]) + z.array(nonEmptySanitizedString('recordingId')).default([]) ) }); -const GetRecordingsFiltersSchema: z.ZodType = z.object({ +const GetRecordingsFiltersSchema: z.ZodType = z.object({ maxItems: z.coerce .number() .int() @@ -64,7 +63,6 @@ export const withValidStartRecordingRequest = (req: Request, res: Response, next } req.body = data; - next(); }; @@ -76,7 +74,6 @@ export const withValidRecordingId = (req: Request, res: Response, next: NextFunc } req.params.recordingId = data.recordingId; - next(); }; @@ -102,7 +99,6 @@ export const withValidRecordingBulkDeleteRequest = (req: Request, res: Response, } req.query.recordingIds = data.recordingIds.join(','); - next(); }; diff --git a/backend/src/routes/global-preferences.routes.ts b/backend/src/routes/global-preferences.routes.ts index 2113b55..a47fa58 100644 --- a/backend/src/routes/global-preferences.routes.ts +++ b/backend/src/routes/global-preferences.routes.ts @@ -5,7 +5,7 @@ import { updateAppearancePreferences } from '../controllers/global-preferences/appearance-preferences.controller.js'; import { withAuth, tokenAndRoleValidator, apiKeyValidator } from '../middlewares/auth.middleware.js'; -import { Role } from '@typings-ce'; +import { UserRole } from '@typings-ce'; export const preferencesRouter = Router(); @@ -14,11 +14,11 @@ preferencesRouter.use(bodyParser.json()); preferencesRouter.put( '/appearance', - withAuth(apiKeyValidator, tokenAndRoleValidator(Role.ADMIN)), + withAuth(apiKeyValidator, tokenAndRoleValidator(UserRole.ADMIN)), updateAppearancePreferences ); preferencesRouter.get( '/appearance', - withAuth(apiKeyValidator, tokenAndRoleValidator(Role.ADMIN)), + withAuth(apiKeyValidator, tokenAndRoleValidator(UserRole.ADMIN)), getAppearancePreferences ); diff --git a/frontend/projects/shared-meet-components/src/lib/guards/admin-auth.guard.ts b/frontend/projects/shared-meet-components/src/lib/guards/auth.guard.ts similarity index 93% rename from frontend/projects/shared-meet-components/src/lib/guards/admin-auth.guard.ts rename to frontend/projects/shared-meet-components/src/lib/guards/auth.guard.ts index 2e0b017..211cf41 100644 --- a/frontend/projects/shared-meet-components/src/lib/guards/admin-auth.guard.ts +++ b/frontend/projects/shared-meet-components/src/lib/guards/auth.guard.ts @@ -1,7 +1,7 @@ import { inject } from '@angular/core'; import { ActivatedRouteSnapshot, CanActivateFn, Router, RouterStateSnapshot } from '@angular/router'; import { AuthService } from '../services'; -import { Role } from '@lib/typings/ce'; +import { UserRole } from '@lib/typings/ce'; export const checkUserAuthenticatedGuard: CanActivateFn = async ( route: ActivatedRouteSnapshot, @@ -21,7 +21,7 @@ export const checkUserAuthenticatedGuard: CanActivateFn = async ( // Check if the user has the expected roles const { expectedRoles } = route.data; - const userRole = authService.isAdmin() ? Role.ADMIN : Role.USER; + const userRole = authService.isAdmin() ? UserRole.ADMIN : UserRole.USER; if (!expectedRoles.includes(userRole)) { // Redirect to the page specified in the route data when user has an invalid role diff --git a/frontend/projects/shared-meet-components/src/lib/guards/index.ts b/frontend/projects/shared-meet-components/src/lib/guards/index.ts index 9084fb1..46ae9c1 100644 --- a/frontend/projects/shared-meet-components/src/lib/guards/index.ts +++ b/frontend/projects/shared-meet-components/src/lib/guards/index.ts @@ -1,4 +1,4 @@ -export * from './admin-auth.guard'; +export * from './auth.guard'; export * from './extract-query-params.guard'; export * from './validate-room-access.guard'; export * from './application-mode.guard'; diff --git a/frontend/projects/shared-meet-components/src/lib/routes/base-routes.ts b/frontend/projects/shared-meet-components/src/lib/routes/base-routes.ts index 6ec0866..e374e8f 100644 --- a/frontend/projects/shared-meet-components/src/lib/routes/base-routes.ts +++ b/frontend/projects/shared-meet-components/src/lib/routes/base-routes.ts @@ -27,7 +27,7 @@ import { RoomFormComponent } from '../pages'; import { LoginComponent } from '@lib/pages/login/login.component'; -import { Role } from '@lib/typings/ce'; +import { UserRole } from '@lib/typings/ce'; export const baseRoutes: Routes = [ { @@ -35,7 +35,7 @@ export const baseRoutes: Routes = [ component: RoomCreatorComponent, canActivate: [checkUserAuthenticatedGuard], data: { - expectedRoles: [Role.USER], + expectedRoles: [UserRole.USER], redirectToUnauthorized: 'login', redirectToInvalidRole: 'console' } @@ -59,7 +59,7 @@ export const baseRoutes: Routes = [ component: ConsoleComponent, canActivate: [checkUserAuthenticatedGuard], data: { - expectedRoles: [Role.ADMIN], + expectedRoles: [UserRole.ADMIN], redirectToUnauthorized: 'console/login', redirectToInvalidRole: '' }, diff --git a/frontend/projects/shared-meet-components/src/lib/services/auth/auth.service.ts b/frontend/projects/shared-meet-components/src/lib/services/auth/auth.service.ts index 73b55f4..93069c1 100644 --- a/frontend/projects/shared-meet-components/src/lib/services/auth/auth.service.ts +++ b/frontend/projects/shared-meet-components/src/lib/services/auth/auth.service.ts @@ -3,7 +3,7 @@ import { HttpService } from '../http/http.service'; import { Router } from '@angular/router'; import { from, Observable } from 'rxjs'; import { HttpErrorResponse } from '@angular/common/http'; -import { Role, User } from '@lib/typings/ce'; +import { UserRole, User } from '@lib/typings/ce'; @Injectable({ providedIn: 'root' @@ -60,7 +60,7 @@ export class AuthService { } isAdmin(): boolean { - return this.user?.role === Role.ADMIN; + return this.user?.role === UserRole.ADMIN; } private async getAuthenticatedUser() { diff --git a/typings/src/user.ts b/typings/src/user.ts index 70132f9..442fee6 100644 --- a/typings/src/user.ts +++ b/typings/src/user.ts @@ -1,9 +1,9 @@ export interface User { username: string; - role: Role; + role: UserRole; } -export const enum Role { +export const enum UserRole { ADMIN = 'admin', USER = 'user' }