backend: Refactor middleware imports for consistency and clarity
This commit is contained in:
parent
9ccda10c6e
commit
79afa0cd03
@ -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';
|
||||
|
||||
@ -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('.'),
|
||||
|
||||
@ -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();
|
||||
|
||||
@ -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
|
||||
);
|
||||
);
|
||||
|
||||
@ -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
|
||||
);
|
||||
|
||||
@ -16,7 +16,6 @@ import {
|
||||
withValidRoomId,
|
||||
withValidRoomDeleteRequest
|
||||
} from '../middlewares/index.js';
|
||||
|
||||
import { UserRole } from '@typings-ce';
|
||||
|
||||
export const roomRouter = Router();
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user