Merge pull request #1445 from internetee/remove-redundant-database-column

Remove redundant database column `domains.registered_at`
This commit is contained in:
Timo Võhmar 2020-09-04 13:54:52 +03:00 committed by GitHub
commit eccac4e105
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
11 changed files with 19 additions and 11 deletions

View file

@ -18,6 +18,7 @@ class Domain < ApplicationRecord
alias_attribute :on_hold_time, :outzone_at
alias_attribute :outzone_time, :outzone_at
alias_attribute :auth_info, :transfer_code # Old attribute name; for PaperTrail
alias_attribute :registered_at, :created_at
# TODO: whois requests ip whitelist for full info for own domains and partial info for other domains
# TODO: most inputs should be trimmed before validatation, probably some global logic?
@ -627,7 +628,7 @@ class Domain < ApplicationRecord
def as_json(_options)
hash = super
hash['auth_info'] = hash.delete('transfer_code') # API v1 requirement
hash['valid_from'] = hash['registered_at'] # API v1 requirement
hash['valid_from'] = hash['created_at'] # API v1 requirement
hash.delete('statuses_before_force_delete')
hash
end

View file

@ -41,7 +41,6 @@ class Epp::Domain < Domain
domain = Epp::Domain.new
domain.attributes = domain.attrs_from(frame, current_user)
domain.attach_default_contacts
domain.registered_at = Time.zone.now
period = domain.period.to_i
plural_period_unit_name = (domain.period_unit == 'm' ? 'months' : 'years').to_sym
@ -150,7 +149,6 @@ class Epp::Domain < Domain
at[:name] = frame.css('name').text if new_record?
at[:registrar_id] = current_user.registrar.try(:id)
at[:registered_at] = Time.zone.now if new_record?
period = frame.css('period').text
at[:period] = (period.to_i == 0) ? 1 : period.to_i

View file

@ -36,7 +36,7 @@ class WhoisRecord < ApplicationRecord
h[:disclaimer] = disclaimer_text if disclaimer_text.present?
h[:name] = domain.name
h[:status] = domain.statuses.map { |x| status_map[x] || x }
h[:registered] = domain.registered_at.try(:to_s, :iso8601)
h[:registered] = domain.registered_at.iso8601
h[:changed] = domain.updated_at.try(:to_s, :iso8601)
h[:expire] = domain.valid_to.to_date.to_s
h[:outzone] = domain.outzone_at.try(:to_date).try(:to_s)

View file

@ -10,7 +10,7 @@
<dt><%= t(:name) %></dt>
<dd><%= @domain.name %></dd>
<dt><%= t(:registered_at) %></dt>
<dt><%= Domain.human_attribute_name :registered_at %></dt>
<dd><%= l(@domain.registered_at) %></dd>
<dt><%= t(:registrar_name) %></dt>

View file

@ -10,7 +10,7 @@
<dt><%= t(:name) %></dt>
<dd><%= @domain.name %></dd>
<dt><%= t(:registered_at) %></dt>
<dt><%= Domain.human_attribute_name :registered_at %></dt>
<dd><%= l(@domain.registered_at) %></dd>
<dt><%= Registrar.model_name.human %></dt>

View file

@ -195,7 +195,6 @@ en:
registrar_name: 'Registrar'
owner: 'Registrant'
domain_details: 'Domain details'
registered_at: 'Registered at'
password: 'Password'
valid_from: 'Valid from'
general: 'General'

View file

@ -0,0 +1,5 @@
class RemoveDomainsRegisteredAt < ActiveRecord::Migration[5.0]
def change
remove_column :domains, :registered_at
end
end

View file

@ -778,7 +778,6 @@ CREATE TABLE public.domains (
id integer NOT NULL,
name character varying NOT NULL,
registrar_id integer NOT NULL,
registered_at timestamp without time zone,
valid_to timestamp without time zone NOT NULL,
registrant_id integer NOT NULL,
transfer_code character varying NOT NULL,
@ -4828,6 +4827,7 @@ INSERT INTO "schema_migrations" (version) VALUES
('20191203083643'),
('20191206183853'),
('20191212133136'),
('20191217013225'),
('20191219112434'),
('20191219124429'),
('20191227110904'),

View file

@ -5,7 +5,6 @@ shop:
registrar: bestnames
registrant: john
transfer_code: 65078d5
registered_at: <%= Time.zone.parse('2010-07-04').to_s(:db) %>
valid_to: <%= Time.zone.parse('2010-07-05').to_s(:db) %>
outzone_at: <%= Time.zone.parse('2010-07-06').to_s(:db) %>
delete_date: 2010-07-07

View file

@ -425,6 +425,12 @@ class DomainTest < ActiveSupport::TestCase
assert_not(@domain.force_delete_scheduled?)
end
def test_aliases_registered_at_to_created_at
created_at = Time.zone.parse('2010-07-05 10:00')
domain = Domain.new(created_at: created_at)
assert_equal created_at, domain.registered_at
end
private
def valid_domain

View file

@ -12,7 +12,7 @@ class RegistrantAreaDomainDetailsTest < ApplicationSystemTestCase
visit registrant_domain_url(@domain)
assert_text 'Name shop.test'
assert_text "Registered at #{l Time.zone.parse('2010-07-04')}"
assert_text "Registered at #{l @domain.registered_at}"
assert_link 'Best Names', href: registrant_registrar_path(@domain.registrar)
assert_text 'Transfer code'
@ -73,4 +73,4 @@ class RegistrantAreaDomainDetailsTest < ApplicationSystemTestCase
assert_field nil, with: registrant_domain_update_confirm_url(@domain, token: 'a01')
end
end
end