From 2168279bafe3889f0be4a45a020aa2adae368d9a Mon Sep 17 00:00:00 2001 From: Carlos Santos <4a.santos@gmail.com> Date: Mon, 26 May 2025 12:42:22 +0200 Subject: [PATCH] backend: optimize room deletion logic in LivekitWebhookService for finished meetings --- backend/src/services/livekit-webhook.service.ts | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/backend/src/services/livekit-webhook.service.ts b/backend/src/services/livekit-webhook.service.ts index 8d6a6aa..d3523d8 100644 --- a/backend/src/services/livekit-webhook.service.ts +++ b/backend/src/services/livekit-webhook.service.ts @@ -181,6 +181,12 @@ export class LivekitWebhookService { this.logger.info(`Processing room_finished event for room: ${roomName}`); + if (meetRoom.markedForDeletion) { + // If the room is marked for deletion, we need to delete it + this.logger.info(`Deleting room ${roomName} after meeting finished because it was marked for deletion`); + await this.roomService.bulkDeleteRooms([roomName], true); + } + const results = await Promise.allSettled([ this.recordingService.releaseRecordingLockIfNoEgress(roomName), this.openViduWebhookService.sendMeetingEndedWebhook(meetRoom) @@ -191,12 +197,6 @@ export class LivekitWebhookService { this.logger.error(`Error processing room_finished event: ${result.reason}`); } }); - - if (meetRoom.markedForDeletion) { - // If the room is marked for deletion, we need to delete it - this.logger.info(`Deleting room ${roomName} after meeting finished because it was marked for deletion`); - this.roomService.bulkDeleteRooms([roomName], true); - } } catch (error) { this.logger.error(`Error handling room finished event: ${error}`); }