diff --git a/app/controllers/api/v1/registrant/contacts_controller.rb b/app/controllers/api/v1/registrant/contacts_controller.rb index 78f1cfecc..889fa0a7a 100644 --- a/app/controllers/api/v1/registrant/contacts_controller.rb +++ b/app/controllers/api/v1/registrant/contacts_controller.rb @@ -72,7 +72,7 @@ module Api contact.disclosed_attributes = disclosed_attributes end - contact.publishable = reparsed_request_json[:publishable] if reparsed_request_json[:publishable].present? + contact.registrant_publishable = reparsed_request_json[:registrant_publishable] logger.debug "Setting.address_processing is set to #{Setting.address_processing}" diff --git a/app/models/contact.rb b/app/models/contact.rb index 41c176022..c06c7b601 100644 --- a/app/models/contact.rb +++ b/app/models/contact.rb @@ -64,7 +64,8 @@ class Contact < ApplicationRecord validate :validate_html validate :validate_country_code, if: -> { self.class.address_processing? } - validates :publishable, inclusion: { in: [true, false] } + validates :registrant_publishable, inclusion: { in: [true, false] }, if: -> { registrant? } + validates :registrant_publishable, inclusion: { in: [false] }, unless: -> { registrant? } after_initialize do self.status_notes = {} if status_notes.nil? diff --git a/app/models/registrant.rb b/app/models/registrant.rb index a0fd70136..a8eae9c31 100644 --- a/app/models/registrant.rb +++ b/app/models/registrant.rb @@ -5,6 +5,6 @@ class Registrant < Contact end def publishable? - publishable + registrant_publishable end end diff --git a/app/models/whois_record.rb b/app/models/whois_record.rb index f0390da20..69a3cf7d2 100644 --- a/app/models/whois_record.rb +++ b/app/models/whois_record.rb @@ -52,7 +52,7 @@ class WhoisRecord < ApplicationRecord h[:email] = registrant.email h[:phone] = registrant.phone - h[:publishable] = registrant.publishable? + h[:registrant_publishable] = registrant.publishable? h[:registrant_changed] = registrant.updated_at.try(:to_s, :iso8601) h[:registrant_disclosed_attributes] = registrant.disclosed_attributes diff --git a/db/migrate/20220715145808_add_publishable_to_contacts.rb b/db/migrate/20220715145808_add_publishable_to_contacts.rb deleted file mode 100644 index 4a426f977..000000000 --- a/db/migrate/20220715145808_add_publishable_to_contacts.rb +++ /dev/null @@ -1,5 +0,0 @@ -class AddPublishableToContacts < ActiveRecord::Migration[6.1] - def change - add_column :contacts, :publishable, :boolean, default: false - end -end diff --git a/db/migrate/20220715145808_add_registrant_publishable_to_contacts.rb b/db/migrate/20220715145808_add_registrant_publishable_to_contacts.rb new file mode 100644 index 000000000..d7d4ab426 --- /dev/null +++ b/db/migrate/20220715145808_add_registrant_publishable_to_contacts.rb @@ -0,0 +1,5 @@ +class AddRegistrantPublishableToContacts < ActiveRecord::Migration[6.1] + def change + add_column :contacts, :registrant_publishable, :boolean, default: false + end +end diff --git a/db/structure.sql b/db/structure.sql index 0a38e44b7..5735666f3 100644 --- a/db/structure.sql +++ b/db/structure.sql @@ -671,7 +671,7 @@ CREATE TABLE public.contacts ( uuid uuid DEFAULT public.gen_random_uuid() NOT NULL, disclosed_attributes character varying[] DEFAULT '{}'::character varying[] NOT NULL, email_history character varying, - publishable boolean DEFAULT false + registrant_publishable boolean DEFAULT false ); diff --git a/lib/serializers/registrant_api/contact.rb b/lib/serializers/registrant_api/contact.rb index 023544174..6f3aa03b9 100644 --- a/lib/serializers/registrant_api/contact.rb +++ b/lib/serializers/registrant_api/contact.rb @@ -31,6 +31,7 @@ module Serializers auth_info: contact.auth_info, statuses: contact.statuses, disclosed_attributes: contact.disclosed_attributes, + registrant_publishable: contact.registrant_publishable, } obj[:links] = contact.related_domains if @links diff --git a/test/integration/api/v1/registrant/contacts/update_test.rb b/test/integration/api/v1/registrant/contacts/update_test.rb index bbb977163..56b22c3a3 100644 --- a/test/integration/api/v1/registrant/contacts/update_test.rb +++ b/test/integration/api/v1/registrant/contacts/update_test.rb @@ -229,9 +229,9 @@ class RegistrantApiV1ContactUpdateTest < ActionDispatch::IntegrationTest assert_equal %w[phone], @contact.disclosed_attributes end - def test_publishable_change_when_present + def test_registrant_publishable_change_when_present @contact = contacts(:acme_ltd) - @contact.update!(publishable: false) + @contact.update!(registrant_publishable: false) patch api_v1_registrant_contact_path(@contact.uuid), params: { disclosed_attributes: %w[], publishable: true }, @@ -240,7 +240,7 @@ class RegistrantApiV1ContactUpdateTest < ActionDispatch::IntegrationTest @contact.reload assert_response :ok - assert @contact.publishable + assert @contact.registrant_publishable end