backend: Refactor middleware imports for consistency and clarity

This commit is contained in:
juancarmore 2025-04-12 12:58:23 +02:00
parent 9ccda10c6e
commit 79afa0cd03
6 changed files with 10 additions and 36 deletions

View File

@ -3,6 +3,8 @@ export * from './room.middleware.js';
export * from './participant.middleware.js';
export * from './recording.middleware.js';
export * from './content-type.middleware.js';
export * from './request-validators/auth-validator.middleware.js';
export * from './request-validators/participant-validator.middleware.js';
export * from './request-validators/preferences-validator.middleware.js';
export * from './request-validators/room-validator.middleware.js';
export * from './request-validators/recording-validator.middleware.js';

View File

@ -8,10 +8,6 @@ const ParticipantTokenRequestSchema: z.ZodType<TokenOptions> = z.object({
secret: z.string().nonempty('Secret is required')
});
const DeleteParticipantSchema = z.object({
roomId: z.string().trim().min(1, 'Room ID is required')
});
export const validateParticipantTokenRequest = (req: Request, res: Response, next: NextFunction) => {
const { success, error, data } = ParticipantTokenRequestSchema.safeParse(req.body);
@ -23,17 +19,6 @@ export const validateParticipantTokenRequest = (req: Request, res: Response, nex
next();
};
export const validateParticipantDeletionRequest = (req: Request, res: Response, next: NextFunction) => {
const { success, error, data } = DeleteParticipantSchema.safeParse(req.query);
if (!success) {
return rejectRequest(res, error);
}
req.query = data!;
next();
};
const rejectRequest = (res: Response, error: z.ZodError) => {
const errors = error.errors.map((error) => ({
field: error.path.join('.'),

View File

@ -1,8 +1,7 @@
import { Router } from 'express';
import bodyParser from 'body-parser';
import * as authCtrl from '../controllers/auth.controller.js';
import { loginLimiter, tokenAndRoleValidator, withAuth } from '../middlewares/auth.middleware.js';
import { validateLoginRequest } from '../middlewares/request-validators/auth-validator.middleware.js';
import { validateLoginRequest, loginLimiter, tokenAndRoleValidator, withAuth } from '../middlewares/index.js';
import { UserRole } from '@typings-ce';
export const authRouter = Router();

View File

@ -3,12 +3,13 @@ import bodyParser from 'body-parser';
import * as appearancePrefCtrl from '../controllers/global-preferences/appearance-preferences.controller.js';
import * as webhookPrefCtrl from '../controllers/global-preferences/webhook-preferences.controller.js';
import * as securityPrefCtrl from '../controllers/global-preferences/security-preferences.controller.js';
import { withAuth, tokenAndRoleValidator } from '../middlewares/auth.middleware.js';
import { UserRole } from '@typings-ce';
import {
validateSecurityPreferences,
validateWebhookPreferences
} from '../middlewares/request-validators/preferences-validator.middleware.js';
validateWebhookPreferences,
withAuth,
tokenAndRoleValidator
} from '../middlewares/index.js';
import { UserRole } from '@typings-ce';
export const preferencesRouter = Router();
preferencesRouter.use(bodyParser.urlencoded({ extended: true }));
@ -46,4 +47,4 @@ preferencesRouter.get(
'/appearance',
withAuth(tokenAndRoleValidator(UserRole.ADMIN)),
appearancePrefCtrl.getAppearancePreferences
);
);

View File

@ -1,12 +1,7 @@
import { Router } from 'express';
import bodyParser from 'body-parser';
import * as participantCtrl from '../controllers/participant.controller.js';
import {
validateParticipantDeletionRequest,
validateParticipantTokenRequest
} from '../middlewares/request-validators/participant-validator.middleware.js';
import { configureTokenAuth, withModeratorPermissions } from '../middlewares/participant.middleware.js';
import { participantTokenValidator, withAuth } from '../middlewares/auth.middleware.js';
import { validateParticipantTokenRequest, configureTokenAuth } from '../middlewares/index.js';
export const internalParticipantRouter = Router();
internalParticipantRouter.use(bodyParser.urlencoded({ extended: true }));
@ -25,10 +20,3 @@ internalParticipantRouter.post(
configureTokenAuth,
participantCtrl.refreshParticipantToken
);
internalParticipantRouter.delete(
'/:participantName',
withAuth(participantTokenValidator),
validateParticipantDeletionRequest,
withModeratorPermissions,
participantCtrl.deleteParticipant
);

View File

@ -16,7 +16,6 @@ import {
withValidRoomId,
withValidRoomDeleteRequest
} from '../middlewares/index.js';
import { UserRole } from '@typings-ce';
export const roomRouter = Router();