From 5be4e7b8c63ae7622393e4f9d3f73640cd7dc630 Mon Sep 17 00:00:00 2001
From: Khemissi Amir <amir.khemissi@insat.ucar.tn>
Date: Thu, 2 Feb 2023 19:23:32 +0100
Subject: [PATCH] V3 Migrations: Fixed `migrations:site_settings` task. (#4742)

---
 lib/tasks/migrations/migrations.rake | 27 +++++++++++++++++++++------
 1 file changed, 21 insertions(+), 6 deletions(-)

diff --git a/lib/tasks/migrations/migrations.rake b/lib/tasks/migrations/migrations.rake
index 117d5fdd..f69d698c 100644
--- a/lib/tasks/migrations/migrations.rake
+++ b/lib/tasks/migrations/migrations.rake
@@ -180,12 +180,12 @@ namespace :migrations do
 
     # RoomConfigurations
     room_configurations = {
-      record: settings_hash['Room Configuration Recording'],
-      muteOnStart: settings_hash['Room Configuration Mute On Join'],
-      guestPolicy: settings_hash['Room Configuration Require Moderator'],
-      glAnyoneCanStart: settings_hash['Room Configuration Allow Any Start'],
-      glAnyoneJoinAsModerator: settings_hash['Room Configuration All Join Moderator'],
-      glRequireAuthentication: settings_hash['Room Authentication']
+      record: infer_room_config_value(settings_hash['Room Configuration Recording']),
+      muteOnStart: infer_room_config_value(settings_hash['Room Configuration Mute On Join']),
+      guestPolicy: infer_room_config_value(settings_hash['Room Configuration Require Moderator']),
+      glAnyoneCanStart: infer_room_config_value(settings_hash['Room Configuration Allow Any Start']),
+      glAnyoneJoinAsModerator: infer_room_config_value(settings_hash['Room Configuration All Join Moderator']),
+      glRequireAuthentication: infer_room_config_value(settings_hash['Room Authentication'])
     }.compact
 
     params = { settings: { site_settings: site_settings, room_configurations: room_configurations } }
@@ -265,4 +265,19 @@ namespace :migrations do
       "open"
     end
   end
+
+  def infer_room_config_value(config_val)
+    return nil unless config_val.present?
+
+    case config_val
+      when "enabled"
+        "true"
+      when "true"
+        "true"
+      when "disabled"
+        "false"
+      else
+        "optional"
+      end 
+  end
 end
-- 
GitLab