From 0ece4cb56430f132b199729580db088fb4c4e75c Mon Sep 17 00:00:00 2001 From: Siddharth Dungarwal Date: Fri, 17 Jan 2025 17:09:17 +0530 Subject: [PATCH 1/6] Move all search settings to ce --- app/helpers/application_settings_helper.rb | 9 ++++- app/models/application_setting.rb | 4 +++ .../application_setting_search.json | 22 ++++++++++-- ee/app/models/ee/application_setting.rb | 7 ---- .../application_setting_search.json | 36 ------------------- ee/spec/models/application_setting_spec.rb | 11 ------ .../application_settings_helper_spec.rb | 9 +++++ spec/models/application_setting_spec.rb | 3 ++ 8 files changed, 43 insertions(+), 58 deletions(-) delete mode 100644 ee/app/validators/json_schemas/application_setting_search.json diff --git a/app/helpers/application_settings_helper.rb b/app/helpers/application_settings_helper.rb index 6b8cd2b029ee21..a3bd447658e156 100644 --- a/app/helpers/application_settings_helper.rb +++ b/app/helpers/application_settings_helper.rb @@ -544,7 +544,14 @@ def visible_attributes :require_personal_access_token_expiry, :observability_backend_ssl_verification_enabled, :show_migrate_from_jenkins_banner, - :ropc_without_client_credentials + :ropc_without_client_credentials, + :global_search_merge_requests_enabled, + :global_search_work_items_enabled, + :global_search_users_enabled, + :global_search_code_enabled, + :global_search_commits_enabled, + :global_search_wiki_enabled, + :global_search_snippet_titles_enabled ].tap do |settings| unless Gitlab.com? settings << :resource_usage_limits diff --git a/app/models/application_setting.rb b/app/models/application_setting.rb index 70a1eb0bc2a03d..66f3c8ac72d259 100644 --- a/app/models/application_setting.rb +++ b/app/models/application_setting.rb @@ -708,6 +708,10 @@ def self.kroki_formats_attributes validates :sign_in_restrictions, json_schema: { filename: 'application_setting_sign_in_restrictions' } jsonb_accessor :search, + global_search_code_enabled: [:boolean, { default: true }], + global_search_commits_enabled: [:boolean, { default: true }], + global_search_wiki_enabled: [:boolean, { default: true }], + global_search_snippet_titles_enabled: [:boolean, { default: true }], global_search_merge_requests_enabled: [:boolean, { default: true }], global_search_work_items_enabled: [:boolean, { default: true }], global_search_users_enabled: [:boolean, { default: true }] diff --git a/app/validators/json_schemas/application_setting_search.json b/app/validators/json_schemas/application_setting_search.json index 6f8ee71ab86927..dee8fc265ff5ac 100644 --- a/app/validators/json_schemas/application_setting_search.json +++ b/app/validators/json_schemas/application_setting_search.json @@ -2,19 +2,35 @@ "$schema": "http://json-schema.org/draft-07/schema#", "description": "Application Settings for search", "type": "object", - "additionalProperties": true, + "additionalProperties": false, "properties": { - "global_search_work_items_enabled": { + "global_search_code_enabled": { "type": "boolean", - "description": "Enable global search for work items" + "description": "Enable global search for code" + }, + "global_search_commits_enabled": { + "type": "boolean", + "description": "Enable global search for commits" }, "global_search_merge_requests_enabled": { "type": "boolean", "description": "Enable global search for merge requests" }, + "global_search_work_items_enabled": { + "type": "boolean", + "description": "Enable global search for work items" + }, + "global_search_wiki_enabled": { + "type": "boolean", + "description": "Enable global search for wikis" + }, "global_search_users_enabled": { "type": "boolean", "description": "Enable global search for users" + }, + "global_search_snippet_titles_enabled": { + "type": "boolean", + "description": "Enable global search for snippets" } } } diff --git a/ee/app/models/ee/application_setting.rb b/ee/app/models/ee/application_setting.rb index a86a8cf425e476..1e6fab318134f3 100644 --- a/ee/app/models/ee/application_setting.rb +++ b/ee/app/models/ee/application_setting.rb @@ -23,12 +23,6 @@ module ApplicationSetting jsonb_accessor :clickhouse, use_clickhouse_for_analytics: [:boolean, { default: false }] - jsonb_accessor :search, - global_search_code_enabled: [:boolean, { default: true }], - global_search_commits_enabled: [:boolean, { default: true }], - global_search_wiki_enabled: [:boolean, { default: true }], - global_search_snippet_titles_enabled: [:boolean, { default: true }] - jsonb_accessor :zoekt_settings, zoekt_auto_delete_lost_nodes: [:boolean, { default: true }], zoekt_indexing_enabled: [:boolean, { default: false }], @@ -282,7 +276,6 @@ module ApplicationSetting allow_nil: false, inclusion: { in: [true, false], message: N_('must be a boolean value') } - validates :search, json_schema: { filename: 'application_setting_search' } validates :zoekt_settings, json_schema: { filename: 'application_setting_zoekt_settings' } validates :zoekt_cpu_to_tasks_ratio, numericality: { greater_than: 0.0 } diff --git a/ee/app/validators/json_schemas/application_setting_search.json b/ee/app/validators/json_schemas/application_setting_search.json deleted file mode 100644 index dee8fc265ff5ac..00000000000000 --- a/ee/app/validators/json_schemas/application_setting_search.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "description": "Application Settings for search", - "type": "object", - "additionalProperties": false, - "properties": { - "global_search_code_enabled": { - "type": "boolean", - "description": "Enable global search for code" - }, - "global_search_commits_enabled": { - "type": "boolean", - "description": "Enable global search for commits" - }, - "global_search_merge_requests_enabled": { - "type": "boolean", - "description": "Enable global search for merge requests" - }, - "global_search_work_items_enabled": { - "type": "boolean", - "description": "Enable global search for work items" - }, - "global_search_wiki_enabled": { - "type": "boolean", - "description": "Enable global search for wikis" - }, - "global_search_users_enabled": { - "type": "boolean", - "description": "Enable global search for users" - }, - "global_search_snippet_titles_enabled": { - "type": "boolean", - "description": "Enable global search for snippets" - } - } -} diff --git a/ee/spec/models/application_setting_spec.rb b/ee/spec/models/application_setting_spec.rb index eaf021d7340490..e685bd0cc84ff7 100644 --- a/ee/spec/models/application_setting_spec.rb +++ b/ee/spec/models/application_setting_spec.rb @@ -46,13 +46,6 @@ it { expect(setting.hard_phone_verification_transactions_daily_limit).to eq(20000) } it { expect(setting.telesign_intelligence_enabled).to eq(true) } it { expect(setting.fetch_observability_alerts_from_cloud).to eq(true) } - it { expect(setting.global_search_code_enabled).to be(true) } - it { expect(setting.global_search_commits_enabled).to be(true) } - it { expect(setting.global_search_merge_requests_enabled).to be(true) } - it { expect(setting.global_search_work_items_enabled).to be(true) } - it { expect(setting.global_search_wiki_enabled).to be(true) } - it { expect(setting.global_search_users_enabled).to be(true) } - it { expect(setting.global_search_snippet_titles_enabled).to be(true) } end describe 'validations' do @@ -695,10 +688,6 @@ it { is_expected.not_to allow_value(nil).for(:instance_level_ai_beta_features_enabled) } end - describe 'search settings', feature_category: :global_search do - it { expect(described_class).to validate_jsonb_schema(['application_setting_search']) } - end - describe 'zoekt settings', feature_category: :global_search do it { expect(described_class).to validate_jsonb_schema(['application_setting_zoekt_settings']) } end diff --git a/spec/helpers/application_settings_helper_spec.rb b/spec/helpers/application_settings_helper_spec.rb index 6c915b288d333d..d99eee7730ec85 100644 --- a/spec/helpers/application_settings_helper_spec.rb +++ b/spec/helpers/application_settings_helper_spec.rb @@ -83,6 +83,15 @@ ]) end + it 'contains search parameters' do + expected_fields = %i[ + global_search_snippet_titles_enabled global_search_users_enabled + global_search_wiki_enabled global_search_merge_requests_enabled global_search_work_items_enabled + global_search_commits_enabled global_search_code_enabled + ] + expect(visible_attributes).to include(*expected_fields) + end + it 'contains GitLab for Slack app parameters' do params = %i[slack_app_enabled slack_app_id slack_app_secret slack_app_signing_secret slack_app_verification_token] diff --git a/spec/models/application_setting_spec.rb b/spec/models/application_setting_spec.rb index cde19ba6a9f79f..7dcea8c041f67c 100644 --- a/spec/models/application_setting_spec.rb +++ b/spec/models/application_setting_spec.rb @@ -53,9 +53,12 @@ it { expect(setting.resource_access_token_notify_inherited).to be(false) } it { expect(setting.lock_resource_access_token_notify_inherited).to be(false) } it { expect(setting.ropc_without_client_credentials).to be(true) } + it { expect(setting.global_search_code_enabled).to be(true) } + it { expect(setting.global_search_commits_enabled).to be(true) } it { expect(setting.global_search_merge_requests_enabled).to be(true) } it { expect(setting.global_search_work_items_enabled).to be(true) } it { expect(setting.global_search_users_enabled).to be(true) } + it { expect(setting.global_search_snippet_titles_enabled).to be(true) } end describe 'USERS_UNCONFIRMED_SECONDARY_EMAILS_DELETE_AFTER_DAYS' do -- GitLab From 1f42035e32595ac26ddb1e12b6fb78a87a1b91aa Mon Sep 17 00:00:00 2001 From: Arturo Herrero Date: Mon, 20 Jan 2025 15:02:29 +0000 Subject: [PATCH 2/6] Remove unrelated code --- app/helpers/application_settings_helper.rb | 9 +-------- spec/helpers/application_settings_helper_spec.rb | 9 --------- 2 files changed, 1 insertion(+), 17 deletions(-) diff --git a/app/helpers/application_settings_helper.rb b/app/helpers/application_settings_helper.rb index a3bd447658e156..6b8cd2b029ee21 100644 --- a/app/helpers/application_settings_helper.rb +++ b/app/helpers/application_settings_helper.rb @@ -544,14 +544,7 @@ def visible_attributes :require_personal_access_token_expiry, :observability_backend_ssl_verification_enabled, :show_migrate_from_jenkins_banner, - :ropc_without_client_credentials, - :global_search_merge_requests_enabled, - :global_search_work_items_enabled, - :global_search_users_enabled, - :global_search_code_enabled, - :global_search_commits_enabled, - :global_search_wiki_enabled, - :global_search_snippet_titles_enabled + :ropc_without_client_credentials ].tap do |settings| unless Gitlab.com? settings << :resource_usage_limits diff --git a/spec/helpers/application_settings_helper_spec.rb b/spec/helpers/application_settings_helper_spec.rb index d99eee7730ec85..6c915b288d333d 100644 --- a/spec/helpers/application_settings_helper_spec.rb +++ b/spec/helpers/application_settings_helper_spec.rb @@ -83,15 +83,6 @@ ]) end - it 'contains search parameters' do - expected_fields = %i[ - global_search_snippet_titles_enabled global_search_users_enabled - global_search_wiki_enabled global_search_merge_requests_enabled global_search_work_items_enabled - global_search_commits_enabled global_search_code_enabled - ] - expect(visible_attributes).to include(*expected_fields) - end - it 'contains GitLab for Slack app parameters' do params = %i[slack_app_enabled slack_app_id slack_app_secret slack_app_signing_secret slack_app_verification_token] -- GitLab From e64ea5589743b808b430bed77e48f43b09d34998 Mon Sep 17 00:00:00 2001 From: Arturo Herrero Date: Mon, 20 Jan 2025 15:02:44 +0000 Subject: [PATCH 3/6] Add missing expect --- spec/models/application_setting_spec.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/spec/models/application_setting_spec.rb b/spec/models/application_setting_spec.rb index 7dcea8c041f67c..1306dd944a3195 100644 --- a/spec/models/application_setting_spec.rb +++ b/spec/models/application_setting_spec.rb @@ -59,6 +59,7 @@ it { expect(setting.global_search_work_items_enabled).to be(true) } it { expect(setting.global_search_users_enabled).to be(true) } it { expect(setting.global_search_snippet_titles_enabled).to be(true) } + it { expect(setting.global_search_work_items_enabled).to be(true) } end describe 'USERS_UNCONFIRMED_SECONDARY_EMAILS_DELETE_AFTER_DAYS' do -- GitLab From 9d933eb1609866b4687c6b9b2da4f68cde6f1e47 Mon Sep 17 00:00:00 2001 From: Arturo Herrero Date: Mon, 20 Jan 2025 15:32:22 +0000 Subject: [PATCH 4/6] Fix setting name in spec --- spec/models/application_setting_spec.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/models/application_setting_spec.rb b/spec/models/application_setting_spec.rb index 1306dd944a3195..0c76b8ead18f88 100644 --- a/spec/models/application_setting_spec.rb +++ b/spec/models/application_setting_spec.rb @@ -59,7 +59,7 @@ it { expect(setting.global_search_work_items_enabled).to be(true) } it { expect(setting.global_search_users_enabled).to be(true) } it { expect(setting.global_search_snippet_titles_enabled).to be(true) } - it { expect(setting.global_search_work_items_enabled).to be(true) } + it { expect(setting.global_search_wiki_enabled).to be(true) } end describe 'USERS_UNCONFIRMED_SECONDARY_EMAILS_DELETE_AFTER_DAYS' do -- GitLab From edb69ab74ef86db0a9d481ad6b788ba39578d71a Mon Sep 17 00:00:00 2001 From: Arturo Herrero Date: Wed, 22 Jan 2025 12:46:30 +0100 Subject: [PATCH 5/6] Fix Search jsonb accessors to their corresponding CE or EE --- app/models/application_setting.rb | 9 ++--- .../application_setting_search.json | 22 +++--------- ee/app/models/ee/application_setting.rb | 11 +++--- .../application_setting_search.json | 36 +++++++++++++++++++ ee/spec/models/application_setting_spec.rb | 11 ++++++ spec/models/application_setting_spec.rb | 7 ++-- 6 files changed, 64 insertions(+), 32 deletions(-) create mode 100644 ee/app/validators/json_schemas/application_setting_search.json diff --git a/app/models/application_setting.rb b/app/models/application_setting.rb index 66f3c8ac72d259..97755c74e147fb 100644 --- a/app/models/application_setting.rb +++ b/app/models/application_setting.rb @@ -708,13 +708,10 @@ def self.kroki_formats_attributes validates :sign_in_restrictions, json_schema: { filename: 'application_setting_sign_in_restrictions' } jsonb_accessor :search, - global_search_code_enabled: [:boolean, { default: true }], - global_search_commits_enabled: [:boolean, { default: true }], - global_search_wiki_enabled: [:boolean, { default: true }], - global_search_snippet_titles_enabled: [:boolean, { default: true }], global_search_merge_requests_enabled: [:boolean, { default: true }], - global_search_work_items_enabled: [:boolean, { default: true }], - global_search_users_enabled: [:boolean, { default: true }] + global_search_snippet_titles_enabled: [:boolean, { default: true }], + global_search_users_enabled: [:boolean, { default: true }], + global_search_work_items_enabled: [:boolean, { default: true }] validates :search, json_schema: { filename: 'application_setting_search' } diff --git a/app/validators/json_schemas/application_setting_search.json b/app/validators/json_schemas/application_setting_search.json index dee8fc265ff5ac..d3e6bd7807691d 100644 --- a/app/validators/json_schemas/application_setting_search.json +++ b/app/validators/json_schemas/application_setting_search.json @@ -2,35 +2,23 @@ "$schema": "http://json-schema.org/draft-07/schema#", "description": "Application Settings for search", "type": "object", - "additionalProperties": false, + "additionalProperties": true, "properties": { - "global_search_code_enabled": { - "type": "boolean", - "description": "Enable global search for code" - }, - "global_search_commits_enabled": { - "type": "boolean", - "description": "Enable global search for commits" - }, "global_search_merge_requests_enabled": { "type": "boolean", "description": "Enable global search for merge requests" }, - "global_search_work_items_enabled": { - "type": "boolean", - "description": "Enable global search for work items" - }, - "global_search_wiki_enabled": { + "global_search_snippet_titles_enabled": { "type": "boolean", - "description": "Enable global search for wikis" + "description": "Enable global search for snippets" }, "global_search_users_enabled": { "type": "boolean", "description": "Enable global search for users" }, - "global_search_snippet_titles_enabled": { + "global_search_work_items_enabled": { "type": "boolean", - "description": "Enable global search for snippets" + "description": "Enable global search for work items" } } } diff --git a/ee/app/models/ee/application_setting.rb b/ee/app/models/ee/application_setting.rb index 1e6fab318134f3..2b200a64565aa4 100644 --- a/ee/app/models/ee/application_setting.rb +++ b/ee/app/models/ee/application_setting.rb @@ -23,6 +23,11 @@ module ApplicationSetting jsonb_accessor :clickhouse, use_clickhouse_for_analytics: [:boolean, { default: false }] + jsonb_accessor :search, + global_search_code_enabled: [:boolean, { default: true }], + global_search_commits_enabled: [:boolean, { default: true }], + global_search_wiki_enabled: [:boolean, { default: true }] + jsonb_accessor :zoekt_settings, zoekt_auto_delete_lost_nodes: [:boolean, { default: true }], zoekt_indexing_enabled: [:boolean, { default: false }], @@ -62,12 +67,10 @@ module ApplicationSetting elasticsearch_indexed_file_size_limit_kb: [:integer, { default: 1024 }], elasticsearch_max_code_indexing_concurrency: [:integer, { default: 30 }] - validates :duo_workflow, json_schema: { filename: "application_setting_duo_workflow" } - validates :clickhouse, json_schema: { filename: "application_setting_clickhouse" } - + validates :search, json_schema: { filename: 'application_setting_search' } + validates :duo_workflow, json_schema: { filename: "application_setting_duo_workflow" } validates :integrations, json_schema: { filename: "application_setting_integrations" } - validates :elasticsearch, json_schema: { filename: "application_setting_elasticsearch" } jsonb_accessor :cluster_agents, diff --git a/ee/app/validators/json_schemas/application_setting_search.json b/ee/app/validators/json_schemas/application_setting_search.json new file mode 100644 index 00000000000000..384480690f273d --- /dev/null +++ b/ee/app/validators/json_schemas/application_setting_search.json @@ -0,0 +1,36 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "description": "Application Settings for search", + "type": "object", + "additionalProperties": false, + "properties": { + "global_search_code_enabled": { + "type": "boolean", + "description": "Enable global search for code" + }, + "global_search_commits_enabled": { + "type": "boolean", + "description": "Enable global search for commits" + }, + "global_search_merge_requests_enabled": { + "type": "boolean", + "description": "Enable global search for merge requests" + }, + "global_search_snippet_titles_enabled": { + "type": "boolean", + "description": "Enable global search for snippets" + }, + "global_search_users_enabled": { + "type": "boolean", + "description": "Enable global search for users" + }, + "global_search_wiki_enabled": { + "type": "boolean", + "description": "Enable global search for wikis" + }, + "global_search_work_items_enabled": { + "type": "boolean", + "description": "Enable global search for work items" + } + } +} diff --git a/ee/spec/models/application_setting_spec.rb b/ee/spec/models/application_setting_spec.rb index e685bd0cc84ff7..8290cd0e212efd 100644 --- a/ee/spec/models/application_setting_spec.rb +++ b/ee/spec/models/application_setting_spec.rb @@ -46,6 +46,13 @@ it { expect(setting.hard_phone_verification_transactions_daily_limit).to eq(20000) } it { expect(setting.telesign_intelligence_enabled).to eq(true) } it { expect(setting.fetch_observability_alerts_from_cloud).to eq(true) } + it { expect(setting.global_search_code_enabled).to be(true) } + it { expect(setting.global_search_commits_enabled).to be(true) } + it { expect(setting.global_search_merge_requests_enabled).to be(true) } + it { expect(setting.global_search_snippet_titles_enabled).to be(true) } + it { expect(setting.global_search_users_enabled).to be(true) } + it { expect(setting.global_search_wiki_enabled).to be(true) } + it { expect(setting.global_search_work_items_enabled).to be(true) } end describe 'validations' do @@ -688,6 +695,10 @@ it { is_expected.not_to allow_value(nil).for(:instance_level_ai_beta_features_enabled) } end + describe 'search settings', feature_category: :global_search do + it { expect(described_class).to validate_jsonb_schema(['application_setting_search']) } + end + describe 'zoekt settings', feature_category: :global_search do it { expect(described_class).to validate_jsonb_schema(['application_setting_zoekt_settings']) } end diff --git a/spec/models/application_setting_spec.rb b/spec/models/application_setting_spec.rb index 0c76b8ead18f88..2d312ecb22e64c 100644 --- a/spec/models/application_setting_spec.rb +++ b/spec/models/application_setting_spec.rb @@ -53,13 +53,10 @@ it { expect(setting.resource_access_token_notify_inherited).to be(false) } it { expect(setting.lock_resource_access_token_notify_inherited).to be(false) } it { expect(setting.ropc_without_client_credentials).to be(true) } - it { expect(setting.global_search_code_enabled).to be(true) } - it { expect(setting.global_search_commits_enabled).to be(true) } it { expect(setting.global_search_merge_requests_enabled).to be(true) } - it { expect(setting.global_search_work_items_enabled).to be(true) } - it { expect(setting.global_search_users_enabled).to be(true) } it { expect(setting.global_search_snippet_titles_enabled).to be(true) } - it { expect(setting.global_search_wiki_enabled).to be(true) } + it { expect(setting.global_search_users_enabled).to be(true) } + it { expect(setting.global_search_work_items_enabled).to be(true) } end describe 'USERS_UNCONFIRMED_SECONDARY_EMAILS_DELETE_AFTER_DAYS' do -- GitLab From ab99d988b809f57e3d07af0bcb90a5646948228b Mon Sep 17 00:00:00 2001 From: Arturo Herrero Date: Thu, 23 Jan 2025 19:49:14 +0100 Subject: [PATCH 6/6] Separate issues and epics JSONB accessors --- app/models/application_setting.rb | 4 ++-- .../json_schemas/application_setting_search.json | 8 ++++---- ee/app/models/ee/application_setting.rb | 1 + .../json_schemas/application_setting_search.json | 12 ++++++++---- ee/spec/models/application_setting_spec.rb | 3 ++- spec/models/application_setting_spec.rb | 2 +- 6 files changed, 18 insertions(+), 12 deletions(-) diff --git a/app/models/application_setting.rb b/app/models/application_setting.rb index 97755c74e147fb..4c7dc2a326e1c5 100644 --- a/app/models/application_setting.rb +++ b/app/models/application_setting.rb @@ -708,10 +708,10 @@ def self.kroki_formats_attributes validates :sign_in_restrictions, json_schema: { filename: 'application_setting_sign_in_restrictions' } jsonb_accessor :search, + global_search_issues_enabled: [:boolean, { default: true }], global_search_merge_requests_enabled: [:boolean, { default: true }], global_search_snippet_titles_enabled: [:boolean, { default: true }], - global_search_users_enabled: [:boolean, { default: true }], - global_search_work_items_enabled: [:boolean, { default: true }] + global_search_users_enabled: [:boolean, { default: true }] validates :search, json_schema: { filename: 'application_setting_search' } diff --git a/app/validators/json_schemas/application_setting_search.json b/app/validators/json_schemas/application_setting_search.json index d3e6bd7807691d..8663ece45a1836 100644 --- a/app/validators/json_schemas/application_setting_search.json +++ b/app/validators/json_schemas/application_setting_search.json @@ -4,6 +4,10 @@ "type": "object", "additionalProperties": true, "properties": { + "global_search_issues_enabled": { + "type": "boolean", + "description": "Enable global search for issues" + }, "global_search_merge_requests_enabled": { "type": "boolean", "description": "Enable global search for merge requests" @@ -15,10 +19,6 @@ "global_search_users_enabled": { "type": "boolean", "description": "Enable global search for users" - }, - "global_search_work_items_enabled": { - "type": "boolean", - "description": "Enable global search for work items" } } } diff --git a/ee/app/models/ee/application_setting.rb b/ee/app/models/ee/application_setting.rb index 2b200a64565aa4..9dad85fd29fd1d 100644 --- a/ee/app/models/ee/application_setting.rb +++ b/ee/app/models/ee/application_setting.rb @@ -26,6 +26,7 @@ module ApplicationSetting jsonb_accessor :search, global_search_code_enabled: [:boolean, { default: true }], global_search_commits_enabled: [:boolean, { default: true }], + global_search_epics_enabled: [:boolean, { default: true }], global_search_wiki_enabled: [:boolean, { default: true }] jsonb_accessor :zoekt_settings, diff --git a/ee/app/validators/json_schemas/application_setting_search.json b/ee/app/validators/json_schemas/application_setting_search.json index 384480690f273d..67aab82d24b84a 100644 --- a/ee/app/validators/json_schemas/application_setting_search.json +++ b/ee/app/validators/json_schemas/application_setting_search.json @@ -12,6 +12,14 @@ "type": "boolean", "description": "Enable global search for commits" }, + "global_search_epics_enabled": { + "type": "boolean", + "description": "Enable global search for epics" + }, + "global_search_issues_enabled": { + "type": "boolean", + "description": "Enable global search for issues" + }, "global_search_merge_requests_enabled": { "type": "boolean", "description": "Enable global search for merge requests" @@ -27,10 +35,6 @@ "global_search_wiki_enabled": { "type": "boolean", "description": "Enable global search for wikis" - }, - "global_search_work_items_enabled": { - "type": "boolean", - "description": "Enable global search for work items" } } } diff --git a/ee/spec/models/application_setting_spec.rb b/ee/spec/models/application_setting_spec.rb index 8290cd0e212efd..f9d1901062808c 100644 --- a/ee/spec/models/application_setting_spec.rb +++ b/ee/spec/models/application_setting_spec.rb @@ -48,11 +48,12 @@ it { expect(setting.fetch_observability_alerts_from_cloud).to eq(true) } it { expect(setting.global_search_code_enabled).to be(true) } it { expect(setting.global_search_commits_enabled).to be(true) } + it { expect(setting.global_search_epics_enabled).to be(true) } + it { expect(setting.global_search_issues_enabled).to be(true) } it { expect(setting.global_search_merge_requests_enabled).to be(true) } it { expect(setting.global_search_snippet_titles_enabled).to be(true) } it { expect(setting.global_search_users_enabled).to be(true) } it { expect(setting.global_search_wiki_enabled).to be(true) } - it { expect(setting.global_search_work_items_enabled).to be(true) } end describe 'validations' do diff --git a/spec/models/application_setting_spec.rb b/spec/models/application_setting_spec.rb index 2d312ecb22e64c..6ee1966345c00a 100644 --- a/spec/models/application_setting_spec.rb +++ b/spec/models/application_setting_spec.rb @@ -53,10 +53,10 @@ it { expect(setting.resource_access_token_notify_inherited).to be(false) } it { expect(setting.lock_resource_access_token_notify_inherited).to be(false) } it { expect(setting.ropc_without_client_credentials).to be(true) } + it { expect(setting.global_search_issues_enabled).to be(true) } it { expect(setting.global_search_merge_requests_enabled).to be(true) } it { expect(setting.global_search_snippet_titles_enabled).to be(true) } it { expect(setting.global_search_users_enabled).to be(true) } - it { expect(setting.global_search_work_items_enabled).to be(true) } end describe 'USERS_UNCONFIRMED_SECONDARY_EMAILS_DELETE_AFTER_DAYS' do -- GitLab