diff --git a/backend/openapi/paths/internal/meetings.yaml b/backend/openapi/paths/internal/meetings.yaml index 1269a0a..360fc69 100644 --- a/backend/openapi/paths/internal/meetings.yaml +++ b/backend/openapi/paths/internal/meetings.yaml @@ -19,8 +19,8 @@ $ref: '../../components/responses/unauthorized-error.yaml' '403': $ref: '../../components/responses/forbidden-error.yaml' - # '404': - # $ref: '../../components/responses/error-room-not-found.yaml' + '404': + $ref: '../../components/responses/error-room-not-found.yaml' '500': $ref: '../../components/responses/internal-server-error.yaml' /meetings/{roomId}/participants/{participantName}: diff --git a/backend/src/controllers/meeting.controller.ts b/backend/src/controllers/meeting.controller.ts index 7f11352..a26726a 100644 --- a/backend/src/controllers/meeting.controller.ts +++ b/backend/src/controllers/meeting.controller.ts @@ -1,14 +1,23 @@ import { container } from '../config/dependency-injector.config.js'; import { Request, Response } from 'express'; -import { LoggerService } from '../services/logger.service.js'; import { OpenViduMeetError } from '../models/index.js'; -import { LiveKitService } from '../services/livekit.service.js'; +import { LoggerService, RoomService, LiveKitService } from '../services/index.js'; export const endMeeting = async (req: Request, res: Response) => { const logger = container.get(LoggerService); + const roomService = container.get(RoomService); const livekitService = container.get(LiveKitService); + const { roomId } = req.params; + // Check if the room exists + try { + await roomService.getMeetRoom(roomId); + } catch (error) { + logger.error(`Error getting room '${roomId}'`); + return handleError(res, error); + } + try { // To end a meeting, we need to delete the room from LiveKit await livekitService.deleteRoom(roomId); diff --git a/backend/src/controllers/room.controller.ts b/backend/src/controllers/room.controller.ts index 4653530..4473866 100644 --- a/backend/src/controllers/room.controller.ts +++ b/backend/src/controllers/room.controller.ts @@ -123,8 +123,7 @@ export const getRoomRolesAndPermissions = async (req: Request, res: Response) => await roomService.getMeetRoom(roomId); } catch (error) { logger.error(`Error getting room '${roomId}'`); - handleError(res, error); - return; + return handleError(res, error); } logger.verbose(`Getting roles and associated permissions for room '${roomId}'`);