From 0c9e4f430ab84e343d501360ee96c3a52f7d778d Mon Sep 17 00:00:00 2001 From: Shivam Mishra Date: Thu, 28 Aug 2025 16:27:44 +0530 Subject: [PATCH] feat: remove enforced_sso and attribute_mappings field --- ...0825070005_create_account_saml_settings.rb | 2 -- db/schema.rb | 2 -- .../v1/accounts/saml_settings_controller.rb | 2 -- .../app/models/account_saml_settings.rb | 26 ++++++++++++------- .../_account_saml_settings.json.jbuilder | 4 +-- spec/factories/account_saml_settings.rb | 12 --------- 6 files changed, 17 insertions(+), 31 deletions(-) diff --git a/db/migrate/20250825070005_create_account_saml_settings.rb b/db/migrate/20250825070005_create_account_saml_settings.rb index 346345d2f..03ec4c5ef 100644 --- a/db/migrate/20250825070005_create_account_saml_settings.rb +++ b/db/migrate/20250825070005_create_account_saml_settings.rb @@ -5,8 +5,6 @@ class CreateAccountSamlSettings < ActiveRecord::Migration[7.1] t.string :sso_url t.text :certificate t.string :sp_entity_id - t.boolean :enforced_sso, default: false, null: false - t.json :attribute_mappings, default: {} t.json :role_mappings, default: {} t.timestamps diff --git a/db/schema.rb b/db/schema.rb index 3fd736853..498a48f72 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -33,8 +33,6 @@ ActiveRecord::Schema[7.1].define(version: 2025_08_25_070005) do t.string "sso_url" t.text "certificate" t.string "sp_entity_id" - t.boolean "enforced_sso", default: false, null: false - t.json "attribute_mappings", default: {} t.json "role_mappings", default: {} t.datetime "created_at", null: false t.datetime "updated_at", null: false diff --git a/enterprise/app/controllers/api/v1/accounts/saml_settings_controller.rb b/enterprise/app/controllers/api/v1/accounts/saml_settings_controller.rb index c1fa07e14..76e2911f1 100644 --- a/enterprise/app/controllers/api/v1/accounts/saml_settings_controller.rb +++ b/enterprise/app/controllers/api/v1/accounts/saml_settings_controller.rb @@ -31,8 +31,6 @@ class Api::V1::Accounts::SamlSettingsController < Api::V1::Accounts::BaseControl :sso_url, :certificate, :sp_entity_id, - :enforced_sso, - attribute_mappings: {}, role_mappings: {} ) end diff --git a/enterprise/app/models/account_saml_settings.rb b/enterprise/app/models/account_saml_settings.rb index 33929d225..aa6ef962e 100644 --- a/enterprise/app/models/account_saml_settings.rb +++ b/enterprise/app/models/account_saml_settings.rb @@ -2,16 +2,14 @@ # # Table name: account_saml_settings # -# id :bigint not null, primary key -# attribute_mappings :json -# certificate :text -# enforced_sso :boolean default(FALSE), not null -# role_mappings :json -# sso_url :string -# created_at :datetime not null -# updated_at :datetime not null -# account_id :bigint not null -# sp_entity_id :string +# id :bigint not null, primary key +# certificate :text +# role_mappings :json +# sso_url :string +# created_at :datetime not null +# updated_at :datetime not null +# account_id :bigint not null +# sp_entity_id :string # # Indexes # @@ -33,6 +31,14 @@ class AccountSamlSettings < ApplicationRecord sp_entity_id.presence || "#{installation_name}-#{account_id}".downcase end + def attribute_mappings + { + 'email' => 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress', + 'first_name' => 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname', + 'last_name' => 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname' + } + end + private def installation_name diff --git a/enterprise/app/views/api/v1/models/_account_saml_settings.json.jbuilder b/enterprise/app/views/api/v1/models/_account_saml_settings.json.jbuilder index 5423253f4..8c053f706 100644 --- a/enterprise/app/views/api/v1/models/_account_saml_settings.json.jbuilder +++ b/enterprise/app/views/api/v1/models/_account_saml_settings.json.jbuilder @@ -2,8 +2,6 @@ json.id account_saml_settings.id json.account_id account_saml_settings.account_id json.sso_url account_saml_settings.sso_url json.sp_entity_id account_saml_settings.sp_entity_id -json.enforced_sso account_saml_settings.enforced_sso -json.attribute_mappings account_saml_settings.attribute_mappings || {} json.role_mappings account_saml_settings.role_mappings || {} json.created_at account_saml_settings.created_at -json.updated_at account_saml_settings.updated_at \ No newline at end of file +json.updated_at account_saml_settings.updated_at diff --git a/spec/factories/account_saml_settings.rb b/spec/factories/account_saml_settings.rb index 9963b1839..c4b7c9ef1 100644 --- a/spec/factories/account_saml_settings.rb +++ b/spec/factories/account_saml_settings.rb @@ -16,8 +16,6 @@ FactoryBot.define do cert.to_pem end sp_entity_id { 'chatwoot-test' } - enforced_sso { false } - attribute_mappings { {} } role_mappings { {} } trait :with_role_mappings do @@ -29,15 +27,5 @@ FactoryBot.define do } end end - - trait :with_attribute_mappings do - attribute_mappings do - { - 'email' => 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress', - 'name' => 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name', - 'first_name' => 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname' - } - end - end end end