From e2ea82b023c649e4515833361526db5ca341fba2 Mon Sep 17 00:00:00 2001
From: Ahmad Farhat <ahmad.af.farhat@gmail.com>
Date: Wed, 11 Oct 2023 12:05:41 -0400
Subject: [PATCH] Fix issue with recording resync deleting recordings (#5449)

---
 app/services/recording_creator.rb | 2 +-
 app/services/recordings_sync.rb   | 4 +++-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/app/services/recording_creator.rb b/app/services/recording_creator.rb
index cde51b13..569814f2 100644
--- a/app/services/recording_creator.rb
+++ b/app/services/recording_creator.rb
@@ -68,7 +68,7 @@ class RecordingCreator
     length = 0
     if recording[:playback][:format].is_a?(Array)
       recording[:playback][:format].each do |formats|
-        length = formats[:length] if formats[:type] == 'presentation'
+        length = formats[:length] if formats[:type] == 'presentation' || formats[:type] == 'video'
       end
     else
       length = recording[:playback][:format][:length]
diff --git a/app/services/recordings_sync.rb b/app/services/recordings_sync.rb
index 7a96ac4c..af50e10b 100644
--- a/app/services/recordings_sync.rb
+++ b/app/services/recordings_sync.rb
@@ -23,7 +23,9 @@ class RecordingsSync
   end
 
   def call
-    @room.recordings.destroy_all
+    recordings = @room.recordings
+    Format.where(recordings:).delete_all
+    recordings.delete_all
 
     recordings = BigBlueButtonApi.new(provider: @provider).get_recordings(meeting_ids: @room.meeting_id)
     recordings[:recordings].each do |recording|
-- 
GitLab