From 52ebfb7792c29eba1472ec358c2420ba443ba24d Mon Sep 17 00:00:00 2001
From: zunda <zundan@gmail.com>
Date: Wed, 26 Oct 2022 20:14:07 +0000
Subject: [PATCH] Store integer settings as integer (#19478)

---
 app/models/form/admin_settings.rb | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/app/models/form/admin_settings.rb b/app/models/form/admin_settings.rb
index 957a32b7c9..431d33bcd9 100644
--- a/app/models/form/admin_settings.rb
+++ b/app/models/form/admin_settings.rb
@@ -33,6 +33,12 @@ class Form::AdminSettings
     backups_retention_period
   ).freeze
 
+  INTEGER_KEYS = %i(
+    media_cache_retention_period
+    content_cache_retention_period
+    backups_retention_period
+  ).freeze
+
   BOOLEAN_KEYS = %i(
     timeline_preview
     activity_api_enabled
@@ -104,6 +110,8 @@ class Form::AdminSettings
   def typecast_value(key, value)
     if BOOLEAN_KEYS.include?(key)
       value == '1'
+    elsif INTEGER_KEYS.include?(key)
+      value.blank? ? value : Integer(value)
     else
       value
     end
-- 
GitLab