From ff806d9462e5b8c07272069f01db6232e59f25ce Mon Sep 17 00:00:00 2001
From: Ahmad Farhat <ahmad.af.farhat@gmail.com>
Date: Wed, 1 Nov 2023 09:48:13 -0400
Subject: [PATCH] Make server recordings rake a bit smarter (#5484)

* Make server recordings rake a bit smarter

* Rubocop
---
 lib/tasks/server_recordings_sync.rake | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/lib/tasks/server_recordings_sync.rake b/lib/tasks/server_recordings_sync.rake
index c8621a3f..c7426074 100644
--- a/lib/tasks/server_recordings_sync.rake
+++ b/lib/tasks/server_recordings_sync.rake
@@ -25,7 +25,15 @@ task :server_recordings_sync, %i[provider] => :environment do |_task, args|
     meeting_ids = rooms.pluck(:meeting_id)
 
     recordings = BigBlueButtonApi.new(provider: args[:provider]).get_recordings(meeting_ids:)
+
+    # Skip the entire batch if the first and last recordings exist
+    if Recording.exists?(record_id: recordings[:recordings][0][:recordID]) && Recording.exists?(record_id: recordings[:recordings][-1][:recordID])
+      next
+    end
+
     recordings[:recordings].each do |recording|
+      next if Recording.exists?(record_id: recording[:recordID])
+
       RecordingCreator.new(recording:).call
       success 'Successfully migrated Recording:'
       info "RecordID: #{recording[:recordID]}"
-- 
GitLab