From 0da935e059e5f6052f702eb5fc03c1d8b13da206 Mon Sep 17 00:00:00 2001
From: Marc Saleiko <msaleiko@gitlab.com>
Date: Fri, 13 Oct 2023 13:26:08 +0000
Subject: [PATCH] Adds add_external_participants_from_cc to ServiceDeskSettings

Introduces a new database field that will allow maintainers
to toggle whether CCed email addresses should be
added as external participants on Service Desk issues
---
 ...rnal_participants_from_cc_to_service_desk_settings.rb | 9 +++++++++
 db/schema_migrations/20231011150241                      | 1 +
 db/structure.sql                                         | 1 +
 spec/requests/api/project_attributes.yml                 | 1 +
 4 files changed, 12 insertions(+)
 create mode 100644 db/migrate/20231011150241_add_external_participants_from_cc_to_service_desk_settings.rb
 create mode 100644 db/schema_migrations/20231011150241

diff --git a/db/migrate/20231011150241_add_external_participants_from_cc_to_service_desk_settings.rb b/db/migrate/20231011150241_add_external_participants_from_cc_to_service_desk_settings.rb
new file mode 100644
index 0000000000000..7e313657265c0
--- /dev/null
+++ b/db/migrate/20231011150241_add_external_participants_from_cc_to_service_desk_settings.rb
@@ -0,0 +1,9 @@
+# frozen_string_literal: true
+
+class AddExternalParticipantsFromCcToServiceDeskSettings < Gitlab::Database::Migration[2.1]
+  enable_lock_retries!
+
+  def change
+    add_column :service_desk_settings, :add_external_participants_from_cc, :boolean, null: false, default: false
+  end
+end
diff --git a/db/schema_migrations/20231011150241 b/db/schema_migrations/20231011150241
new file mode 100644
index 0000000000000..f6fad411bf9a3
--- /dev/null
+++ b/db/schema_migrations/20231011150241
@@ -0,0 +1 @@
+92e1c02f769e19e0a0eb6a5e23d2ae54cb02d4d1e1d6d2532dca736ae3d97cee
\ No newline at end of file
diff --git a/db/structure.sql b/db/structure.sql
index 9545b295297c4..1179e5c4355f7 100644
--- a/db/structure.sql
+++ b/db/structure.sql
@@ -23097,6 +23097,7 @@ CREATE TABLE service_desk_settings (
     encrypted_custom_email_smtp_password bytea,
     encrypted_custom_email_smtp_password_iv bytea,
     service_desk_enabled boolean DEFAULT true NOT NULL,
+    add_external_participants_from_cc boolean DEFAULT false NOT NULL,
     CONSTRAINT check_57a79552e1 CHECK ((char_length(custom_email) <= 255)),
     CONSTRAINT check_b283637a9e CHECK ((char_length(custom_email_smtp_address) <= 255)),
     CONSTRAINT check_e3535d46ee CHECK ((char_length(custom_email_smtp_username) <= 255))
diff --git a/spec/requests/api/project_attributes.yml b/spec/requests/api/project_attributes.yml
index c1270685575ea..ec98df22af792 100644
--- a/spec/requests/api/project_attributes.yml
+++ b/spec/requests/api/project_attributes.yml
@@ -193,5 +193,6 @@ build_service_desk_setting: # service_desk_setting
     - encrypted_custom_email_smtp_password
     - encrypted_custom_email_smtp_password_iv
     - custom_email_smtp_password
+    - add_external_participants_from_cc
   remapped_attributes:
     project_key: service_desk_address
-- 
GitLab