mirror of
https://github.com/internetee/registry.git
synced 2025-07-22 18:56:05 +02:00
Merge branch 'master' into 1645-get-rid-of-keystores-gem
This commit is contained in:
commit
f13a2c2b07
30 changed files with 537 additions and 123 deletions
14
CHANGELOG.md
14
CHANGELOG.md
|
@ -1,3 +1,17 @@
|
||||||
|
11.08.2020
|
||||||
|
* FIxed postal address saving bug with disabled address processing [#1650](https://github.com/internetee/registry/issues/1650)
|
||||||
|
|
||||||
|
07.08.2020
|
||||||
|
* Restored creator and updator strings to contacts and related object records [#1636](https://github.com/internetee/registry/issues/1636)
|
||||||
|
* Security gem updates: sdoc to 1.1 and json to 2.3.1 [#1657](https://github.com/internetee/registry/pull/1657)
|
||||||
|
|
||||||
|
04.08.2020
|
||||||
|
* Fixed registrant verification for domain delete [#1631](https://github.com/internetee/registry/issues/1631)
|
||||||
|
* Fixed domain transfer issue when one person was present in the same role more than once (different objects) [#1651](https://github.com/internetee/registry/issues/1651)
|
||||||
|
|
||||||
|
03.08.2020
|
||||||
|
* Fixed 0 vat issue with invoices sent to Directo [#1647](https://github.com/internetee/registry/issues/1647)
|
||||||
|
|
||||||
17.07.2020
|
17.07.2020
|
||||||
* Added turemail gem for validating email addresses syntactically and on MX record level [#297](https://github.com/internetee/registry/issues/297)
|
* Added turemail gem for validating email addresses syntactically and on MX record level [#297](https://github.com/internetee/registry/issues/297)
|
||||||
|
|
||||||
|
|
2
Gemfile
2
Gemfile
|
@ -81,10 +81,10 @@ end
|
||||||
|
|
||||||
group :development, :test do
|
group :development, :test do
|
||||||
gem 'pry', '0.10.1'
|
gem 'pry', '0.10.1'
|
||||||
gem 'sdoc', '0.4.1' # bundle exec rake doc:rails generates the API under doc/api.
|
|
||||||
gem 'railroady', '1.3.0' # to generate database diagrams
|
gem 'railroady', '1.3.0' # to generate database diagrams
|
||||||
gem 'autodoc'
|
gem 'autodoc'
|
||||||
gem 'puma'
|
gem 'puma'
|
||||||
|
gem 'sdoc', '~> 1.1'
|
||||||
end
|
end
|
||||||
|
|
||||||
group :test do
|
group :test do
|
||||||
|
|
11
Gemfile.lock
11
Gemfile.lock
|
@ -252,7 +252,7 @@ GEM
|
||||||
thor (>= 0.14, < 2.0)
|
thor (>= 0.14, < 2.0)
|
||||||
jquery-ui-rails (5.0.5)
|
jquery-ui-rails (5.0.5)
|
||||||
railties (>= 3.2.16)
|
railties (>= 3.2.16)
|
||||||
json (1.8.6)
|
json (2.3.1)
|
||||||
kaminari (1.2.1)
|
kaminari (1.2.1)
|
||||||
activesupport (>= 4.1.0)
|
activesupport (>= 4.1.0)
|
||||||
kaminari-actionview (= 1.2.1)
|
kaminari-actionview (= 1.2.1)
|
||||||
|
@ -375,7 +375,7 @@ GEM
|
||||||
rb-inotify (0.10.1)
|
rb-inotify (0.10.1)
|
||||||
ffi (~> 1.0)
|
ffi (~> 1.0)
|
||||||
rbtree3 (0.6.0)
|
rbtree3 (0.6.0)
|
||||||
rdoc (4.3.0)
|
rdoc (6.2.1)
|
||||||
regexp_parser (1.7.1)
|
regexp_parser (1.7.1)
|
||||||
request_store (1.5.0)
|
request_store (1.5.0)
|
||||||
rack (>= 1.4)
|
rack (>= 1.4)
|
||||||
|
@ -421,9 +421,8 @@ GEM
|
||||||
nokogiri (>= 1.8.1)
|
nokogiri (>= 1.8.1)
|
||||||
nori (~> 2.4)
|
nori (~> 2.4)
|
||||||
wasabi (~> 3.4)
|
wasabi (~> 3.4)
|
||||||
sdoc (0.4.1)
|
sdoc (1.1.0)
|
||||||
json (~> 1.7, >= 1.7.7)
|
rdoc (>= 5.0)
|
||||||
rdoc (~> 4.0)
|
|
||||||
select2-rails (3.5.9.3)
|
select2-rails (3.5.9.3)
|
||||||
thor (~> 0.14)
|
thor (~> 0.14)
|
||||||
selectize-rails (0.12.1)
|
selectize-rails (0.12.1)
|
||||||
|
@ -543,7 +542,7 @@ DEPENDENCIES
|
||||||
ransack (~> 2.3)
|
ransack (~> 2.3)
|
||||||
rest-client
|
rest-client
|
||||||
sass-rails
|
sass-rails
|
||||||
sdoc (= 0.4.1)
|
sdoc (~> 1.1)
|
||||||
select2-rails (= 3.5.9.3)
|
select2-rails (= 3.5.9.3)
|
||||||
selectize-rails (= 0.12.1)
|
selectize-rails (= 0.12.1)
|
||||||
simplecov (= 0.17.1)
|
simplecov (= 0.17.1)
|
||||||
|
|
|
@ -2,6 +2,7 @@ module Admin
|
||||||
class BaseController < ApplicationController
|
class BaseController < ApplicationController
|
||||||
before_action :authenticate_admin_user!
|
before_action :authenticate_admin_user!
|
||||||
helper_method :head_title_sufix
|
helper_method :head_title_sufix
|
||||||
|
before_action :set_paper_trail_whodunnit
|
||||||
|
|
||||||
def head_title_sufix
|
def head_title_sufix
|
||||||
t(:admin_head_title_sufix)
|
t(:admin_head_title_sufix)
|
||||||
|
|
|
@ -20,6 +20,7 @@ module Epp
|
||||||
rescue_from StandardError, with: :respond_with_command_failed_error
|
rescue_from StandardError, with: :respond_with_command_failed_error
|
||||||
rescue_from AuthorizationError, with: :respond_with_authorization_error
|
rescue_from AuthorizationError, with: :respond_with_authorization_error
|
||||||
rescue_from ActiveRecord::RecordNotFound, with: :respond_with_object_does_not_exist_error
|
rescue_from ActiveRecord::RecordNotFound, with: :respond_with_object_does_not_exist_error
|
||||||
|
before_action :set_paper_trail_whodunnit
|
||||||
|
|
||||||
protected
|
protected
|
||||||
|
|
||||||
|
@ -397,5 +398,9 @@ module Epp
|
||||||
logger.error(([exception.message] + exception.backtrace).join($INPUT_RECORD_SEPARATOR))
|
logger.error(([exception.message] + exception.backtrace).join($INPUT_RECORD_SEPARATOR))
|
||||||
notify_airbrake(exception)
|
notify_airbrake(exception)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def user_for_paper_trail
|
||||||
|
current_user ? current_user.id_role_username : 'anonymous'
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -24,9 +24,9 @@ class Registrant::DomainDeleteConfirmsController < RegistrantController
|
||||||
|
|
||||||
confirmed = params[:confirmed] ? true : false
|
confirmed = params[:confirmed] ? true : false
|
||||||
action = if confirmed
|
action = if confirmed
|
||||||
@registrant_verification.domain_registrant_delete_reject!("email link #{initiator}")
|
|
||||||
else
|
|
||||||
@registrant_verification.domain_registrant_delete_confirm!("email link #{initiator}")
|
@registrant_verification.domain_registrant_delete_confirm!("email link #{initiator}")
|
||||||
|
else
|
||||||
|
@registrant_verification.domain_registrant_delete_reject!("email link #{initiator}")
|
||||||
end
|
end
|
||||||
|
|
||||||
fail_msg = t("registrant_domain_delete_#{confirmed ? 'confirmed' : 'rejected'}_failed".to_sym)
|
fail_msg = t("registrant_domain_delete_#{confirmed ? 'confirmed' : 'rejected'}_failed".to_sym)
|
||||||
|
@ -36,9 +36,9 @@ class Registrant::DomainDeleteConfirmsController < RegistrantController
|
||||||
(render 'show' && return) unless action
|
(render 'show' && return) unless action
|
||||||
|
|
||||||
if confirmed
|
if confirmed
|
||||||
redirect_to registrant_domain_delete_confirm_path(@domain.id, confirmed: true) && return
|
redirect_to registrant_domain_delete_confirm_path(@domain.id, confirmed: true)
|
||||||
else
|
else
|
||||||
redirect_to registrant_domain_delete_confirm_path(@domain.id, rejected: true) unless confirmed
|
redirect_to registrant_domain_delete_confirm_path(@domain.id, rejected: true)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
class RegistrantController < ApplicationController
|
class RegistrantController < ApplicationController
|
||||||
before_action :authenticate_registrant_user!
|
before_action :authenticate_registrant_user!
|
||||||
|
before_action :set_paper_trail_whodunnit
|
||||||
layout 'registrant/application'
|
layout 'registrant/application'
|
||||||
|
|
||||||
include Registrant::ApplicationHelper
|
include Registrant::ApplicationHelper
|
||||||
|
|
|
@ -6,6 +6,7 @@ class Registrar
|
||||||
before_action :check_ip_restriction
|
before_action :check_ip_restriction
|
||||||
helper_method :depp_controller?
|
helper_method :depp_controller?
|
||||||
helper_method :head_title_sufix
|
helper_method :head_title_sufix
|
||||||
|
before_action :set_paper_trail_whodunnit
|
||||||
|
|
||||||
protected
|
protected
|
||||||
|
|
||||||
|
|
|
@ -23,7 +23,7 @@ module Actions
|
||||||
end
|
end
|
||||||
|
|
||||||
def maybe_remove_address
|
def maybe_remove_address
|
||||||
return if Setting.address_processing?
|
return if Contact.address_processing?
|
||||||
|
|
||||||
new_attributes.delete(:city)
|
new_attributes.delete(:city)
|
||||||
new_attributes.delete(:zip)
|
new_attributes.delete(:zip)
|
||||||
|
|
|
@ -57,7 +57,8 @@ module Concerns::Domain::Transferable
|
||||||
|
|
||||||
def transfer_domain_contacts(new_registrar)
|
def transfer_domain_contacts(new_registrar)
|
||||||
copied_ids = []
|
copied_ids = []
|
||||||
contacts.each do |contact|
|
domain_contacts.each do |dc|
|
||||||
|
contact = Contact.find(dc.contact_id)
|
||||||
next if copied_ids.include?(contact.id) || contact.registrar == new_registrar
|
next if copied_ids.include?(contact.id) || contact.registrar == new_registrar
|
||||||
|
|
||||||
if registrant_id_was == contact.id # registrant was copied previously, do not copy it again
|
if registrant_id_was == contact.id # registrant was copied previously, do not copy it again
|
||||||
|
@ -66,7 +67,11 @@ module Concerns::Domain::Transferable
|
||||||
oc = contact.transfer(new_registrar)
|
oc = contact.transfer(new_registrar)
|
||||||
end
|
end
|
||||||
|
|
||||||
domain_contacts.where(contact_id: contact.id).update_all({ contact_id: oc.id }) # n+1 workaround
|
if domain_contacts.find_by(contact_id: oc.id, domain_id: id, type: dc.type).present?
|
||||||
|
dc.destroy
|
||||||
|
else
|
||||||
|
dc.update(contact_id: oc.id)
|
||||||
|
end
|
||||||
copied_ids << contact.id
|
copied_ids << contact.id
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -5,7 +5,7 @@ module Concerns
|
||||||
|
|
||||||
def as_directo_json
|
def as_directo_json
|
||||||
invoice = ActiveSupport::JSON.decode(ActiveSupport::JSON.encode(self))
|
invoice = ActiveSupport::JSON.decode(ActiveSupport::JSON.encode(self))
|
||||||
invoice['customer_code'] = buyer.accounting_customer_code
|
invoice['customer'] = compose_directo_customer
|
||||||
invoice['issue_date'] = issue_date.strftime('%Y-%m-%d')
|
invoice['issue_date'] = issue_date.strftime('%Y-%m-%d')
|
||||||
invoice['transaction_date'] = account_activity
|
invoice['transaction_date'] = account_activity
|
||||||
.bank_transaction&.paid_at&.strftime('%Y-%m-%d')
|
.bank_transaction&.paid_at&.strftime('%Y-%m-%d')
|
||||||
|
@ -21,6 +21,14 @@ module Concerns
|
||||||
subtotal, precision: 2, separator: '.'
|
subtotal, precision: 2, separator: '.'
|
||||||
) }].as_json
|
) }].as_json
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def compose_directo_customer
|
||||||
|
{
|
||||||
|
'code': buyer.accounting_customer_code,
|
||||||
|
'destination': buyer_country_code,
|
||||||
|
'vat_reg_no': buyer_vat_no,
|
||||||
|
}.as_json
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -12,7 +12,7 @@ module Concerns
|
||||||
|
|
||||||
invoice = {
|
invoice = {
|
||||||
'number': 1,
|
'number': 1,
|
||||||
'customer_code': accounting_customer_code,
|
'customer': compose_directo_customer,
|
||||||
'language': language == 'en' ? 'ENG' : '', 'currency': activities.first.currency,
|
'language': language == 'en' ? 'ENG' : '', 'currency': activities.first.currency,
|
||||||
'date': month.end_of_month.strftime('%Y-%m-%d')
|
'date': month.end_of_month.strftime('%Y-%m-%d')
|
||||||
}.as_json
|
}.as_json
|
||||||
|
@ -109,6 +109,14 @@ module Concerns
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def compose_directo_customer
|
||||||
|
{
|
||||||
|
'code': accounting_customer_code,
|
||||||
|
'destination': address_country_code,
|
||||||
|
'vat_reg_no': vat_no,
|
||||||
|
}.as_json
|
||||||
|
end
|
||||||
|
|
||||||
def load_price(account_activity)
|
def load_price(account_activity)
|
||||||
@pricelists ||= {}
|
@pricelists ||= {}
|
||||||
return @pricelists[account_activity.price_id] if @pricelists.key? account_activity.price_id
|
return @pricelists[account_activity.price_id] if @pricelists.key? account_activity.price_id
|
||||||
|
|
|
@ -30,12 +30,14 @@ module Versions
|
||||||
|
|
||||||
def creator
|
def creator
|
||||||
return nil if creator_str.blank?
|
return nil if creator_str.blank?
|
||||||
|
|
||||||
creator = user_from_id_role_username creator_str
|
creator = user_from_id_role_username creator_str
|
||||||
creator.present? ? creator : creator_str
|
creator.present? ? creator : creator_str
|
||||||
end
|
end
|
||||||
|
|
||||||
def updator
|
def updator
|
||||||
return nil if updator_str.blank?
|
return nil if updator_str.blank?
|
||||||
|
|
||||||
updator = user_from_id_role_username updator_str
|
updator = user_from_id_role_username updator_str
|
||||||
updator.present? ? updator : updator_str
|
updator.present? ? updator : updator_str
|
||||||
end
|
end
|
||||||
|
|
|
@ -62,6 +62,7 @@ class Contact < ApplicationRecord
|
||||||
mapping: [%w[ident code], %w[ident_type type], %w[ident_country_code country_code]]
|
mapping: [%w[ident code], %w[ident_type type], %w[ident_country_code country_code]]
|
||||||
|
|
||||||
after_save :update_related_whois_records
|
after_save :update_related_whois_records
|
||||||
|
before_validation :clear_address_modifications, if: -> { !self.class.address_processing? }
|
||||||
|
|
||||||
self.ignored_columns = %w[legacy_id legacy_history_id]
|
self.ignored_columns = %w[legacy_id legacy_history_id]
|
||||||
|
|
||||||
|
@ -507,6 +508,19 @@ class Contact < ApplicationRecord
|
||||||
]).present?
|
]).present?
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def clear_address_modifications
|
||||||
|
return unless modifies_address?
|
||||||
|
|
||||||
|
remove_address
|
||||||
|
end
|
||||||
|
|
||||||
|
def modifies_address?
|
||||||
|
modified = false
|
||||||
|
self.class.address_attribute_names.each { |field| modified = true if changes.key?(field) }
|
||||||
|
|
||||||
|
modified
|
||||||
|
end
|
||||||
|
|
||||||
def update_related_whois_records
|
def update_related_whois_records
|
||||||
# not doing anything if no real changes
|
# not doing anything if no real changes
|
||||||
ignored_columns = %w[updated_at created_at statuses status_notes]
|
ignored_columns = %w[updated_at created_at statuses status_notes]
|
||||||
|
|
|
@ -7,6 +7,7 @@ module Epp
|
||||||
KEY_TO_VALUE = {
|
KEY_TO_VALUE = {
|
||||||
completed_successfully: 1000,
|
completed_successfully: 1000,
|
||||||
completed_successfully_action_pending: 1001,
|
completed_successfully_action_pending: 1001,
|
||||||
|
completed_without_address: 1100,
|
||||||
completed_successfully_no_messages: 1300,
|
completed_successfully_no_messages: 1300,
|
||||||
completed_successfully_ack_to_dequeue: 1301,
|
completed_successfully_ack_to_dequeue: 1301,
|
||||||
completed_successfully_ending_session: 1500,
|
completed_successfully_ending_session: 1500,
|
||||||
|
@ -35,6 +36,7 @@ module Epp
|
||||||
DEFAULT_DESCRIPTIONS = {
|
DEFAULT_DESCRIPTIONS = {
|
||||||
1000 => 'Command completed successfully',
|
1000 => 'Command completed successfully',
|
||||||
1001 => 'Command completed successfully; action pending',
|
1001 => 'Command completed successfully; action pending',
|
||||||
|
1100 => 'Command completed successfully; Postal address data discarded',
|
||||||
1300 => 'Command completed successfully; no messages',
|
1300 => 'Command completed successfully; no messages',
|
||||||
1301 => 'Command completed successfully; ack to dequeue',
|
1301 => 'Command completed successfully; ack to dequeue',
|
||||||
1500 => 'Command completed successfully; ending session',
|
1500 => 'Command completed successfully; ending session',
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
# Used in Registrant portal to collect registrant verifications
|
# Used in Registrant portal to collect registrant verifications
|
||||||
# Registrant postgres user can access this table directly.
|
# Registrant postgres user can access this table directly.
|
||||||
class RegistrantVerification < ApplicationRecord
|
class RegistrantVerification < ApplicationRecord
|
||||||
has_paper_trail versions: { class_name: 'RegistrantVerificationVersion' }
|
include Versions # version/domain_version.rb
|
||||||
|
|
||||||
# actions
|
# actions
|
||||||
CONFIRMED = 'confirmed'
|
CONFIRMED = 'confirmed'
|
||||||
|
|
|
@ -164,6 +164,7 @@ test:
|
||||||
action_mailer_force_delete_from: 'legal@registry.test'
|
action_mailer_force_delete_from: 'legal@registry.test'
|
||||||
lhv_p12_keystore: 'test/fixtures/files/keystore.p12'
|
lhv_p12_keystore: 'test/fixtures/files/keystore.p12'
|
||||||
lhv_keystore_password: 'testtest'
|
lhv_keystore_password: 'testtest'
|
||||||
|
legal_documents_dir: 'test/fixtures/files'
|
||||||
|
|
||||||
# Airbrake // Errbit:
|
# Airbrake // Errbit:
|
||||||
airbrake_host: "https://your-errbit-host.ee"
|
airbrake_host: "https://your-errbit-host.ee"
|
||||||
|
|
|
@ -0,0 +1,9 @@
|
||||||
|
class ChangeRegistrantVerificationCreatorUpdatorIdToString < ActiveRecord::Migration[6.0]
|
||||||
|
def change
|
||||||
|
add_column :registrant_verifications, :creator_str, :string
|
||||||
|
add_column :registrant_verifications, :updator_str, :string
|
||||||
|
|
||||||
|
remove_column :registrant_verifications, :creator_id
|
||||||
|
remove_column :registrant_verifications, :updater_id
|
||||||
|
end
|
||||||
|
end
|
192
db/structure.sql
192
db/structure.sql
|
@ -1,6 +1,6 @@
|
||||||
----
|
---
|
||||||
---- PostgreSQL database dump
|
--- PostgreSQL database dump
|
||||||
----
|
---
|
||||||
|
|
||||||
SET statement_timeout = 0;
|
SET statement_timeout = 0;
|
||||||
SET lock_timeout = 0;
|
SET lock_timeout = 0;
|
||||||
|
@ -31,7 +31,6 @@ COMMENT ON EXTENSION plpgsql IS 'PL/pgSQL procedural language';
|
||||||
|
|
||||||
CREATE EXTENSION IF NOT EXISTS btree_gist WITH SCHEMA public;
|
CREATE EXTENSION IF NOT EXISTS btree_gist WITH SCHEMA public;
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: citext; Type: EXTENSION; Schema: -; Owner: -
|
-- Name: citext; Type: EXTENSION; Schema: -; Owner: -
|
||||||
--
|
--
|
||||||
|
@ -567,7 +566,7 @@ ALTER SEQUENCE public.contacts_id_seq OWNED BY public.contacts.id;
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: data_migrations; Type: TABLE; Schema: public; Owner: -
|
-- Name: data_migrations; Type: TABLE; Schema: public; Owner: -; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
CREATE TABLE public.data_migrations (
|
CREATE TABLE public.data_migrations (
|
||||||
|
@ -576,7 +575,7 @@ CREATE TABLE public.data_migrations (
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: directos; Type: TABLE; Schema: public; Owner: -
|
-- Name: directos; Type: TABLE; Schema: public; Owner: -; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
CREATE TABLE public.directos (
|
CREATE TABLE public.directos (
|
||||||
|
@ -824,7 +823,7 @@ ALTER SEQUENCE public.domains_id_seq OWNED BY public.domains.id;
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: email_address_verifications; Type: TABLE; Schema: public; Owner: -
|
-- Name: email_address_verifications; Type: TABLE; Schema: public; Owner: -; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
CREATE TABLE public.email_address_verifications (
|
CREATE TABLE public.email_address_verifications (
|
||||||
|
@ -856,7 +855,7 @@ ALTER SEQUENCE public.email_address_verifications_id_seq OWNED BY public.email_a
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: email_addresses_validations; Type: TABLE; Schema: public; Owner: -
|
-- Name: email_addresses_validations; Type: TABLE; Schema: public; Owner: -; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
CREATE TABLE public.email_addresses_validations (
|
CREATE TABLE public.email_addresses_validations (
|
||||||
|
@ -886,7 +885,7 @@ ALTER SEQUENCE public.email_addresses_validations_id_seq OWNED BY public.email_a
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: email_addresses_verifications; Type: TABLE; Schema: public; Owner: -
|
-- Name: email_addresses_verifications; Type: TABLE; Schema: public; Owner: -; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
CREATE TABLE public.email_addresses_verifications (
|
CREATE TABLE public.email_addresses_verifications (
|
||||||
|
@ -916,7 +915,7 @@ ALTER SEQUENCE public.email_addresses_verifications_id_seq OWNED BY public.email
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: epp_sessions; Type: TABLE; Schema: public; Owner: -
|
-- Name: epp_sessions; Type: TABLE; Schema: public; Owner: -; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
CREATE TABLE public.epp_sessions (
|
CREATE TABLE public.epp_sessions (
|
||||||
|
@ -2132,8 +2131,8 @@ CREATE TABLE public.registrant_verifications (
|
||||||
action character varying NOT NULL,
|
action character varying NOT NULL,
|
||||||
domain_id integer NOT NULL,
|
domain_id integer NOT NULL,
|
||||||
action_type character varying NOT NULL,
|
action_type character varying NOT NULL,
|
||||||
creator_id integer,
|
creator_str character varying,
|
||||||
updater_id integer
|
updator_str character varying
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
@ -2591,42 +2590,42 @@ ALTER TABLE ONLY public.domain_transfers ALTER COLUMN id SET DEFAULT nextval('pu
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: domains id; Type: DEFAULT; Schema: public; Owner: -
|
-- Name: id; Type: DEFAULT; Schema: public; Owner: -
|
||||||
--
|
--
|
||||||
|
|
||||||
ALTER TABLE ONLY public.domains ALTER COLUMN id SET DEFAULT nextval('public.domains_id_seq'::regclass);
|
ALTER TABLE ONLY public.domains ALTER COLUMN id SET DEFAULT nextval('public.domains_id_seq'::regclass);
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: email_address_verifications id; Type: DEFAULT; Schema: public; Owner: -
|
-- Name: id; Type: DEFAULT; Schema: public; Owner: -
|
||||||
--
|
--
|
||||||
|
|
||||||
ALTER TABLE ONLY public.email_address_verifications ALTER COLUMN id SET DEFAULT nextval('public.email_address_verifications_id_seq'::regclass);
|
ALTER TABLE ONLY public.email_address_verifications ALTER COLUMN id SET DEFAULT nextval('public.email_address_verifications_id_seq'::regclass);
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: email_addresses_validations id; Type: DEFAULT; Schema: public; Owner: -
|
-- Name: id; Type: DEFAULT; Schema: public; Owner: -
|
||||||
--
|
--
|
||||||
|
|
||||||
ALTER TABLE ONLY public.email_addresses_validations ALTER COLUMN id SET DEFAULT nextval('public.email_addresses_validations_id_seq'::regclass);
|
ALTER TABLE ONLY public.email_addresses_validations ALTER COLUMN id SET DEFAULT nextval('public.email_addresses_validations_id_seq'::regclass);
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: email_addresses_verifications id; Type: DEFAULT; Schema: public; Owner: -
|
-- Name: id; Type: DEFAULT; Schema: public; Owner: -
|
||||||
--
|
--
|
||||||
|
|
||||||
ALTER TABLE ONLY public.email_addresses_verifications ALTER COLUMN id SET DEFAULT nextval('public.email_addresses_verifications_id_seq'::regclass);
|
ALTER TABLE ONLY public.email_addresses_verifications ALTER COLUMN id SET DEFAULT nextval('public.email_addresses_verifications_id_seq'::regclass);
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: epp_sessions id; Type: DEFAULT; Schema: public; Owner: -
|
-- Name: id; Type: DEFAULT; Schema: public; Owner: -
|
||||||
--
|
--
|
||||||
|
|
||||||
ALTER TABLE ONLY public.epp_sessions ALTER COLUMN id SET DEFAULT nextval('public.epp_sessions_id_seq'::regclass);
|
ALTER TABLE ONLY public.epp_sessions ALTER COLUMN id SET DEFAULT nextval('public.epp_sessions_id_seq'::regclass);
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: invoice_items id; Type: DEFAULT; Schema: public; Owner: -
|
-- Name: id; Type: DEFAULT; Schema: public; Owner: -
|
||||||
--
|
--
|
||||||
|
|
||||||
ALTER TABLE ONLY public.invoice_items ALTER COLUMN id SET DEFAULT nextval('public.invoice_items_id_seq'::regclass);
|
ALTER TABLE ONLY public.invoice_items ALTER COLUMN id SET DEFAULT nextval('public.invoice_items_id_seq'::regclass);
|
||||||
|
@ -3027,7 +3026,7 @@ ALTER TABLE ONLY public.domains
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: email_address_verifications email_address_verifications_pkey; Type: CONSTRAINT; Schema: public; Owner: -
|
-- Name: email_address_verifications_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
ALTER TABLE ONLY public.email_address_verifications
|
ALTER TABLE ONLY public.email_address_verifications
|
||||||
|
@ -3035,7 +3034,7 @@ ALTER TABLE ONLY public.email_address_verifications
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: email_addresses_validations email_addresses_validations_pkey; Type: CONSTRAINT; Schema: public; Owner: -
|
-- Name: email_addresses_validations_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
ALTER TABLE ONLY public.email_addresses_validations
|
ALTER TABLE ONLY public.email_addresses_validations
|
||||||
|
@ -3043,7 +3042,7 @@ ALTER TABLE ONLY public.email_addresses_validations
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: email_addresses_verifications email_addresses_verifications_pkey; Type: CONSTRAINT; Schema: public; Owner: -
|
-- Name: email_addresses_verifications_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
ALTER TABLE ONLY public.email_addresses_verifications
|
ALTER TABLE ONLY public.email_addresses_verifications
|
||||||
|
@ -3051,7 +3050,7 @@ ALTER TABLE ONLY public.email_addresses_verifications
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: epp_sessions epp_sessions_pkey; Type: CONSTRAINT; Schema: public; Owner: -
|
-- Name: epp_sessions_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
ALTER TABLE ONLY public.epp_sessions
|
ALTER TABLE ONLY public.epp_sessions
|
||||||
|
@ -3059,7 +3058,7 @@ ALTER TABLE ONLY public.epp_sessions
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: invoice_items invoice_items_pkey; Type: CONSTRAINT; Schema: public; Owner: -
|
-- Name: invoice_items_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
ALTER TABLE ONLY public.invoice_items
|
ALTER TABLE ONLY public.invoice_items
|
||||||
|
@ -3339,7 +3338,7 @@ ALTER TABLE ONLY public.blocked_domains
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: domain_contacts uniq_contact_of_type_per_domain; Type: CONSTRAINT; Schema: public; Owner: -
|
-- Name: uniq_contact_of_type_per_domain; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
ALTER TABLE ONLY public.domain_contacts
|
ALTER TABLE ONLY public.domain_contacts
|
||||||
|
@ -3347,7 +3346,7 @@ ALTER TABLE ONLY public.domain_contacts
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: contacts uniq_contact_uuid; Type: CONSTRAINT; Schema: public; Owner: -
|
-- Name: uniq_contact_uuid; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
ALTER TABLE ONLY public.contacts
|
ALTER TABLE ONLY public.contacts
|
||||||
|
@ -3355,7 +3354,7 @@ ALTER TABLE ONLY public.contacts
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: domains uniq_domain_uuid; Type: CONSTRAINT; Schema: public; Owner: -
|
-- Name: uniq_domain_uuid; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
ALTER TABLE ONLY public.domains
|
ALTER TABLE ONLY public.domains
|
||||||
|
@ -3363,7 +3362,7 @@ ALTER TABLE ONLY public.domains
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: nameservers uniq_hostname_per_domain; Type: CONSTRAINT; Schema: public; Owner: -
|
-- Name: uniq_hostname_per_domain; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
ALTER TABLE ONLY public.nameservers
|
ALTER TABLE ONLY public.nameservers
|
||||||
|
@ -3371,7 +3370,7 @@ ALTER TABLE ONLY public.nameservers
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: reserved_domains uniq_reserved_domains_name; Type: CONSTRAINT; Schema: public; Owner: -
|
-- Name: uniq_reserved_domains_name; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
ALTER TABLE ONLY public.reserved_domains
|
ALTER TABLE ONLY public.reserved_domains
|
||||||
|
@ -3379,7 +3378,7 @@ ALTER TABLE ONLY public.reserved_domains
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: auctions uniq_uuid; Type: CONSTRAINT; Schema: public; Owner: -
|
-- Name: uniq_uuid; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
ALTER TABLE ONLY public.auctions
|
ALTER TABLE ONLY public.auctions
|
||||||
|
@ -3638,447 +3637,448 @@ CREATE INDEX index_domains_on_registrar_id ON public.domains USING btree (regist
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: index_domains_on_statuses; Type: INDEX; Schema: public; Owner: -
|
-- Name: index_domains_on_statuses; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
CREATE INDEX index_domains_on_statuses ON public.domains USING gin (statuses);
|
CREATE INDEX index_domains_on_statuses ON public.domains USING gin (statuses);
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: index_email_address_verifications_on_domain; Type: INDEX; Schema: public; Owner: -
|
-- Name: index_email_address_verifications_on_domain; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
CREATE INDEX index_email_address_verifications_on_domain ON public.email_address_verifications USING btree (domain);
|
CREATE INDEX index_email_address_verifications_on_domain ON public.email_address_verifications USING btree (domain);
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: index_epp_sessions_on_updated_at; Type: INDEX; Schema: public; Owner: -
|
-- Name: index_epp_sessions_on_updated_at; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
CREATE INDEX index_epp_sessions_on_updated_at ON public.epp_sessions USING btree (updated_at);
|
CREATE INDEX index_epp_sessions_on_updated_at ON public.epp_sessions USING btree (updated_at);
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: index_invoice_items_on_invoice_id; Type: INDEX; Schema: public; Owner: -
|
-- Name: index_invoice_items_on_invoice_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
CREATE INDEX index_invoice_items_on_invoice_id ON public.invoice_items USING btree (invoice_id);
|
CREATE INDEX index_invoice_items_on_invoice_id ON public.invoice_items USING btree (invoice_id);
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: index_invoices_on_buyer_id; Type: INDEX; Schema: public; Owner: -
|
-- Name: index_invoices_on_buyer_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
CREATE INDEX index_invoices_on_buyer_id ON public.invoices USING btree (buyer_id);
|
CREATE INDEX index_invoices_on_buyer_id ON public.invoices USING btree (buyer_id);
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: index_legal_documents_on_checksum; Type: INDEX; Schema: public; Owner: -
|
-- Name: index_legal_documents_on_checksum; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
CREATE INDEX index_legal_documents_on_checksum ON public.legal_documents USING btree (checksum);
|
CREATE INDEX index_legal_documents_on_checksum ON public.legal_documents USING btree (checksum);
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: index_legal_documents_on_documentable_type_and_documentable_id; Type: INDEX; Schema: public; Owner: -
|
-- Name: index_legal_documents_on_documentable_type_and_documentable_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
CREATE INDEX index_legal_documents_on_documentable_type_and_documentable_id ON public.legal_documents USING btree (documentable_type, documentable_id);
|
CREATE INDEX index_legal_documents_on_documentable_type_and_documentable_id ON public.legal_documents USING btree (documentable_type, documentable_id);
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: index_log_account_activities_on_item_type_and_item_id; Type: INDEX; Schema: public; Owner: -
|
-- Name: index_log_account_activities_on_item_type_and_item_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
CREATE INDEX index_log_account_activities_on_item_type_and_item_id ON public.log_account_activities USING btree (item_type, item_id);
|
CREATE INDEX index_log_account_activities_on_item_type_and_item_id ON public.log_account_activities USING btree (item_type, item_id);
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: index_log_account_activities_on_whodunnit; Type: INDEX; Schema: public; Owner: -
|
-- Name: index_log_account_activities_on_whodunnit; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
CREATE INDEX index_log_account_activities_on_whodunnit ON public.log_account_activities USING btree (whodunnit);
|
CREATE INDEX index_log_account_activities_on_whodunnit ON public.log_account_activities USING btree (whodunnit);
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: index_log_accounts_on_item_type_and_item_id; Type: INDEX; Schema: public; Owner: -
|
-- Name: index_log_accounts_on_item_type_and_item_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
CREATE INDEX index_log_accounts_on_item_type_and_item_id ON public.log_accounts USING btree (item_type, item_id);
|
CREATE INDEX index_log_accounts_on_item_type_and_item_id ON public.log_accounts USING btree (item_type, item_id);
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: index_log_accounts_on_whodunnit; Type: INDEX; Schema: public; Owner: -
|
-- Name: index_log_accounts_on_whodunnit; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
CREATE INDEX index_log_accounts_on_whodunnit ON public.log_accounts USING btree (whodunnit);
|
CREATE INDEX index_log_accounts_on_whodunnit ON public.log_accounts USING btree (whodunnit);
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: index_log_bank_statements_on_item_type_and_item_id; Type: INDEX; Schema: public; Owner: -
|
-- Name: index_log_bank_statements_on_item_type_and_item_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
CREATE INDEX index_log_bank_statements_on_item_type_and_item_id ON public.log_bank_statements USING btree (item_type, item_id);
|
CREATE INDEX index_log_bank_statements_on_item_type_and_item_id ON public.log_bank_statements USING btree (item_type, item_id);
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: index_log_bank_statements_on_whodunnit; Type: INDEX; Schema: public; Owner: -
|
-- Name: index_log_bank_statements_on_whodunnit; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
CREATE INDEX index_log_bank_statements_on_whodunnit ON public.log_bank_statements USING btree (whodunnit);
|
CREATE INDEX index_log_bank_statements_on_whodunnit ON public.log_bank_statements USING btree (whodunnit);
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: index_log_bank_transactions_on_item_type_and_item_id; Type: INDEX; Schema: public; Owner: -
|
-- Name: index_log_bank_transactions_on_item_type_and_item_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
CREATE INDEX index_log_bank_transactions_on_item_type_and_item_id ON public.log_bank_transactions USING btree (item_type, item_id);
|
CREATE INDEX index_log_bank_transactions_on_item_type_and_item_id ON public.log_bank_transactions USING btree (item_type, item_id);
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: index_log_bank_transactions_on_whodunnit; Type: INDEX; Schema: public; Owner: -
|
-- Name: index_log_bank_transactions_on_whodunnit; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
CREATE INDEX index_log_bank_transactions_on_whodunnit ON public.log_bank_transactions USING btree (whodunnit);
|
CREATE INDEX index_log_bank_transactions_on_whodunnit ON public.log_bank_transactions USING btree (whodunnit);
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: index_log_blocked_domains_on_item_type_and_item_id; Type: INDEX; Schema: public; Owner: -
|
-- Name: index_log_blocked_domains_on_item_type_and_item_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
CREATE INDEX index_log_blocked_domains_on_item_type_and_item_id ON public.log_blocked_domains USING btree (item_type, item_id);
|
CREATE INDEX index_log_blocked_domains_on_item_type_and_item_id ON public.log_blocked_domains USING btree (item_type, item_id);
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: index_log_blocked_domains_on_whodunnit; Type: INDEX; Schema: public; Owner: -
|
-- Name: index_log_blocked_domains_on_whodunnit; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
CREATE INDEX index_log_blocked_domains_on_whodunnit ON public.log_blocked_domains USING btree (whodunnit);
|
CREATE INDEX index_log_blocked_domains_on_whodunnit ON public.log_blocked_domains USING btree (whodunnit);
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: index_log_certificates_on_item_type_and_item_id; Type: INDEX; Schema: public; Owner: -
|
-- Name: index_log_certificates_on_item_type_and_item_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
CREATE INDEX index_log_certificates_on_item_type_and_item_id ON public.log_certificates USING btree (item_type, item_id);
|
CREATE INDEX index_log_certificates_on_item_type_and_item_id ON public.log_certificates USING btree (item_type, item_id);
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: index_log_certificates_on_whodunnit; Type: INDEX; Schema: public; Owner: -
|
-- Name: index_log_certificates_on_whodunnit; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
CREATE INDEX index_log_certificates_on_whodunnit ON public.log_certificates USING btree (whodunnit);
|
CREATE INDEX index_log_certificates_on_whodunnit ON public.log_certificates USING btree (whodunnit);
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: index_log_contacts_on_item_type_and_item_id; Type: INDEX; Schema: public; Owner: -
|
-- Name: index_log_contacts_on_item_type_and_item_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
CREATE INDEX index_log_contacts_on_item_type_and_item_id ON public.log_contacts USING btree (item_type, item_id);
|
CREATE INDEX index_log_contacts_on_item_type_and_item_id ON public.log_contacts USING btree (item_type, item_id);
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: index_log_contacts_on_whodunnit; Type: INDEX; Schema: public; Owner: -
|
-- Name: index_log_contacts_on_whodunnit; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
CREATE INDEX index_log_contacts_on_whodunnit ON public.log_contacts USING btree (whodunnit);
|
CREATE INDEX index_log_contacts_on_whodunnit ON public.log_contacts USING btree (whodunnit);
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: index_log_dnskeys_on_item_type_and_item_id; Type: INDEX; Schema: public; Owner: -
|
-- Name: index_log_dnskeys_on_item_type_and_item_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
CREATE INDEX index_log_dnskeys_on_item_type_and_item_id ON public.log_dnskeys USING btree (item_type, item_id);
|
CREATE INDEX index_log_dnskeys_on_item_type_and_item_id ON public.log_dnskeys USING btree (item_type, item_id);
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: index_log_dnskeys_on_whodunnit; Type: INDEX; Schema: public; Owner: -
|
-- Name: index_log_dnskeys_on_whodunnit; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
CREATE INDEX index_log_dnskeys_on_whodunnit ON public.log_dnskeys USING btree (whodunnit);
|
CREATE INDEX index_log_dnskeys_on_whodunnit ON public.log_dnskeys USING btree (whodunnit);
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: index_log_domain_contacts_on_item_type_and_item_id; Type: INDEX; Schema: public; Owner: -
|
-- Name: index_log_domain_contacts_on_item_type_and_item_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
CREATE INDEX index_log_domain_contacts_on_item_type_and_item_id ON public.log_domain_contacts USING btree (item_type, item_id);
|
CREATE INDEX index_log_domain_contacts_on_item_type_and_item_id ON public.log_domain_contacts USING btree (item_type, item_id);
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: index_log_domain_contacts_on_whodunnit; Type: INDEX; Schema: public; Owner: -
|
-- Name: index_log_domain_contacts_on_whodunnit; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
CREATE INDEX index_log_domain_contacts_on_whodunnit ON public.log_domain_contacts USING btree (whodunnit);
|
CREATE INDEX index_log_domain_contacts_on_whodunnit ON public.log_domain_contacts USING btree (whodunnit);
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: index_log_domains_on_item_type_and_item_id; Type: INDEX; Schema: public; Owner: -
|
-- Name: index_log_domains_on_item_type_and_item_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
CREATE INDEX index_log_domains_on_item_type_and_item_id ON public.log_domains USING btree (item_type, item_id);
|
CREATE INDEX index_log_domains_on_item_type_and_item_id ON public.log_domains USING btree (item_type, item_id);
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: index_log_domains_on_whodunnit; Type: INDEX; Schema: public; Owner: -
|
-- Name: index_log_domains_on_whodunnit; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
CREATE INDEX index_log_domains_on_whodunnit ON public.log_domains USING btree (whodunnit);
|
CREATE INDEX index_log_domains_on_whodunnit ON public.log_domains USING btree (whodunnit);
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: index_log_invoice_items_on_item_type_and_item_id; Type: INDEX; Schema: public; Owner: -
|
-- Name: index_log_invoice_items_on_item_type_and_item_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
CREATE INDEX index_log_invoice_items_on_item_type_and_item_id ON public.log_invoice_items USING btree (item_type, item_id);
|
CREATE INDEX index_log_invoice_items_on_item_type_and_item_id ON public.log_invoice_items USING btree (item_type, item_id);
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: index_log_invoice_items_on_whodunnit; Type: INDEX; Schema: public; Owner: -
|
-- Name: index_log_invoice_items_on_whodunnit; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
CREATE INDEX index_log_invoice_items_on_whodunnit ON public.log_invoice_items USING btree (whodunnit);
|
CREATE INDEX index_log_invoice_items_on_whodunnit ON public.log_invoice_items USING btree (whodunnit);
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: index_log_invoices_on_item_type_and_item_id; Type: INDEX; Schema: public; Owner: -
|
-- Name: index_log_invoices_on_item_type_and_item_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
CREATE INDEX index_log_invoices_on_item_type_and_item_id ON public.log_invoices USING btree (item_type, item_id);
|
CREATE INDEX index_log_invoices_on_item_type_and_item_id ON public.log_invoices USING btree (item_type, item_id);
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: index_log_invoices_on_whodunnit; Type: INDEX; Schema: public; Owner: -
|
-- Name: index_log_invoices_on_whodunnit; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
CREATE INDEX index_log_invoices_on_whodunnit ON public.log_invoices USING btree (whodunnit);
|
CREATE INDEX index_log_invoices_on_whodunnit ON public.log_invoices USING btree (whodunnit);
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: index_log_nameservers_on_item_type_and_item_id; Type: INDEX; Schema: public; Owner: -
|
-- Name: index_log_nameservers_on_item_type_and_item_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
CREATE INDEX index_log_nameservers_on_item_type_and_item_id ON public.log_nameservers USING btree (item_type, item_id);
|
CREATE INDEX index_log_nameservers_on_item_type_and_item_id ON public.log_nameservers USING btree (item_type, item_id);
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: index_log_nameservers_on_whodunnit; Type: INDEX; Schema: public; Owner: -
|
-- Name: index_log_nameservers_on_whodunnit; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
CREATE INDEX index_log_nameservers_on_whodunnit ON public.log_nameservers USING btree (whodunnit);
|
CREATE INDEX index_log_nameservers_on_whodunnit ON public.log_nameservers USING btree (whodunnit);
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: index_log_notifications_on_item_type_and_item_id; Type: INDEX; Schema: public; Owner: -
|
-- Name: index_log_notifications_on_item_type_and_item_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
CREATE INDEX index_log_notifications_on_item_type_and_item_id ON public.log_notifications USING btree (item_type, item_id);
|
CREATE INDEX index_log_notifications_on_item_type_and_item_id ON public.log_notifications USING btree (item_type, item_id);
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: index_log_notifications_on_whodunnit; Type: INDEX; Schema: public; Owner: -
|
-- Name: index_log_notifications_on_whodunnit; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
CREATE INDEX index_log_notifications_on_whodunnit ON public.log_notifications USING btree (whodunnit);
|
CREATE INDEX index_log_notifications_on_whodunnit ON public.log_notifications USING btree (whodunnit);
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: index_log_registrant_verifications_on_item_type_and_item_id; Type: INDEX; Schema: public; Owner: -
|
-- Name: index_log_registrant_verifications_on_item_type_and_item_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
CREATE INDEX index_log_registrant_verifications_on_item_type_and_item_id ON public.log_registrant_verifications USING btree (item_type, item_id);
|
CREATE INDEX index_log_registrant_verifications_on_item_type_and_item_id ON public.log_registrant_verifications USING btree (item_type, item_id);
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: index_log_registrant_verifications_on_whodunnit; Type: INDEX; Schema: public; Owner: -
|
-- Name: index_log_registrant_verifications_on_whodunnit; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
CREATE INDEX index_log_registrant_verifications_on_whodunnit ON public.log_registrant_verifications USING btree (whodunnit);
|
CREATE INDEX index_log_registrant_verifications_on_whodunnit ON public.log_registrant_verifications USING btree (whodunnit);
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: index_log_registrars_on_item_type_and_item_id; Type: INDEX; Schema: public; Owner: -
|
-- Name: index_log_registrars_on_item_type_and_item_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
CREATE INDEX index_log_registrars_on_item_type_and_item_id ON public.log_registrars USING btree (item_type, item_id);
|
CREATE INDEX index_log_registrars_on_item_type_and_item_id ON public.log_registrars USING btree (item_type, item_id);
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: index_log_registrars_on_whodunnit; Type: INDEX; Schema: public; Owner: -
|
-- Name: index_log_registrars_on_whodunnit; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
CREATE INDEX index_log_registrars_on_whodunnit ON public.log_registrars USING btree (whodunnit);
|
CREATE INDEX index_log_registrars_on_whodunnit ON public.log_registrars USING btree (whodunnit);
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: index_log_reserved_domains_on_item_type_and_item_id; Type: INDEX; Schema: public; Owner: -
|
-- Name: index_log_reserved_domains_on_item_type_and_item_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
CREATE INDEX index_log_reserved_domains_on_item_type_and_item_id ON public.log_reserved_domains USING btree (item_type, item_id);
|
CREATE INDEX index_log_reserved_domains_on_item_type_and_item_id ON public.log_reserved_domains USING btree (item_type, item_id);
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: index_log_reserved_domains_on_whodunnit; Type: INDEX; Schema: public; Owner: -
|
-- Name: index_log_reserved_domains_on_whodunnit; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
CREATE INDEX index_log_reserved_domains_on_whodunnit ON public.log_reserved_domains USING btree (whodunnit);
|
CREATE INDEX index_log_reserved_domains_on_whodunnit ON public.log_reserved_domains USING btree (whodunnit);
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: index_log_settings_on_item_type_and_item_id; Type: INDEX; Schema: public; Owner: -
|
-- Name: index_log_settings_on_item_type_and_item_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
CREATE INDEX index_log_settings_on_item_type_and_item_id ON public.log_settings USING btree (item_type, item_id);
|
CREATE INDEX index_log_settings_on_item_type_and_item_id ON public.log_settings USING btree (item_type, item_id);
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: index_log_settings_on_whodunnit; Type: INDEX; Schema: public; Owner: -
|
-- Name: index_log_settings_on_whodunnit; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
CREATE INDEX index_log_settings_on_whodunnit ON public.log_settings USING btree (whodunnit);
|
CREATE INDEX index_log_settings_on_whodunnit ON public.log_settings USING btree (whodunnit);
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: index_log_users_on_item_type_and_item_id; Type: INDEX; Schema: public; Owner: -
|
-- Name: index_log_users_on_item_type_and_item_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
CREATE INDEX index_log_users_on_item_type_and_item_id ON public.log_users USING btree (item_type, item_id);
|
CREATE INDEX index_log_users_on_item_type_and_item_id ON public.log_users USING btree (item_type, item_id);
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: index_log_users_on_whodunnit; Type: INDEX; Schema: public; Owner: -
|
-- Name: index_log_users_on_whodunnit; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
CREATE INDEX index_log_users_on_whodunnit ON public.log_users USING btree (whodunnit);
|
CREATE INDEX index_log_users_on_whodunnit ON public.log_users USING btree (whodunnit);
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: index_nameservers_on_domain_id; Type: INDEX; Schema: public; Owner: -
|
-- Name: index_nameservers_on_domain_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
CREATE INDEX index_nameservers_on_domain_id ON public.nameservers USING btree (domain_id);
|
CREATE INDEX index_nameservers_on_domain_id ON public.nameservers USING btree (domain_id);
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: index_notifications_on_registrar_id; Type: INDEX; Schema: public; Owner: -
|
-- Name: index_notifications_on_registrar_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
CREATE INDEX index_notifications_on_registrar_id ON public.notifications USING btree (registrar_id);
|
CREATE INDEX index_notifications_on_registrar_id ON public.notifications USING btree (registrar_id);
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: index_payment_orders_on_invoice_id; Type: INDEX; Schema: public; Owner: -
|
-- Name: index_payment_orders_on_invoice_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
CREATE INDEX index_payment_orders_on_invoice_id ON public.payment_orders USING btree (invoice_id);
|
CREATE INDEX index_payment_orders_on_invoice_id ON public.payment_orders USING btree (invoice_id);
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: index_prices_on_zone_id; Type: INDEX; Schema: public; Owner: -
|
-- Name: index_prices_on_zone_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
CREATE INDEX index_prices_on_zone_id ON public.prices USING btree (zone_id);
|
CREATE INDEX index_prices_on_zone_id ON public.prices USING btree (zone_id);
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: index_registrant_verifications_on_created_at; Type: INDEX; Schema: public; Owner: -
|
-- Name: index_registrant_verifications_on_created_at; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
CREATE INDEX index_registrant_verifications_on_created_at ON public.registrant_verifications USING btree (created_at);
|
CREATE INDEX index_registrant_verifications_on_created_at ON public.registrant_verifications USING btree (created_at);
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: index_registrant_verifications_on_domain_id; Type: INDEX; Schema: public; Owner: -
|
-- Name: index_registrant_verifications_on_domain_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
CREATE INDEX index_registrant_verifications_on_domain_id ON public.registrant_verifications USING btree (domain_id);
|
CREATE INDEX index_registrant_verifications_on_domain_id ON public.registrant_verifications USING btree (domain_id);
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: index_settings_on_thing_type_and_thing_id_and_var; Type: INDEX; Schema: public; Owner: -
|
-- Name: index_settings_on_thing_type_and_thing_id_and_var; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
CREATE UNIQUE INDEX index_settings_on_thing_type_and_thing_id_and_var ON public.settings USING btree (thing_type, thing_id, var);
|
CREATE UNIQUE INDEX index_settings_on_thing_type_and_thing_id_and_var ON public.settings USING btree (thing_type, thing_id, var);
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: index_users_on_identity_code; Type: INDEX; Schema: public; Owner: -
|
-- Name: index_users_on_identity_code; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
CREATE INDEX index_users_on_identity_code ON public.users USING btree (identity_code);
|
CREATE INDEX index_users_on_identity_code ON public.users USING btree (identity_code);
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: index_users_on_registrar_id; Type: INDEX; Schema: public; Owner: -
|
-- Name: index_users_on_registrar_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
CREATE INDEX index_users_on_registrar_id ON public.users USING btree (registrar_id);
|
CREATE INDEX index_users_on_registrar_id ON public.users USING btree (registrar_id);
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: index_versions_on_item_type_and_item_id; Type: INDEX; Schema: public; Owner: -
|
-- Name: index_versions_on_item_type_and_item_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
CREATE INDEX index_versions_on_item_type_and_item_id ON public.versions USING btree (item_type, item_id);
|
CREATE INDEX index_versions_on_item_type_and_item_id ON public.versions USING btree (item_type, item_id);
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: index_whois_records_on_domain_id; Type: INDEX; Schema: public; Owner: -
|
-- Name: index_whois_records_on_domain_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
CREATE INDEX index_whois_records_on_domain_id ON public.whois_records USING btree (domain_id);
|
CREATE INDEX index_whois_records_on_domain_id ON public.whois_records USING btree (domain_id);
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: index_whois_records_on_registrar_id; Type: INDEX; Schema: public; Owner: -
|
-- Name: index_whois_records_on_registrar_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
CREATE INDEX index_whois_records_on_registrar_id ON public.whois_records USING btree (registrar_id);
|
CREATE INDEX index_whois_records_on_registrar_id ON public.whois_records USING btree (registrar_id);
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: log_contacts_object_legacy_id; Type: INDEX; Schema: public; Owner: -
|
-- Name: log_contacts_object_legacy_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
CREATE INDEX log_contacts_object_legacy_id ON public.log_contacts USING btree ((((object ->> 'legacy_id'::text))::integer));
|
CREATE INDEX log_contacts_object_legacy_id ON public.log_contacts USING btree ((((object ->> 'legacy_id'::text))::integer));
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: log_dnskeys_object_legacy_id; Type: INDEX; Schema: public; Owner: -
|
-- Name: log_dnskeys_object_legacy_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
CREATE INDEX log_dnskeys_object_legacy_id ON public.log_contacts USING btree ((((object ->> 'legacy_domain_id'::text))::integer));
|
CREATE INDEX log_dnskeys_object_legacy_id ON public.log_contacts USING btree ((((object ->> 'legacy_domain_id'::text))::integer));
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: log_domains_object_legacy_id; Type: INDEX; Schema: public; Owner: -
|
-- Name: log_domains_object_legacy_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
CREATE INDEX log_domains_object_legacy_id ON public.log_contacts USING btree ((((object ->> 'legacy_id'::text))::integer));
|
CREATE INDEX log_domains_object_legacy_id ON public.log_contacts USING btree ((((object ->> 'legacy_id'::text))::integer));
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: log_nameservers_object_legacy_id; Type: INDEX; Schema: public; Owner: -
|
-- Name: log_nameservers_object_legacy_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
CREATE INDEX log_nameservers_object_legacy_id ON public.log_contacts USING btree ((((object ->> 'legacy_domain_id'::text))::integer));
|
CREATE INDEX log_nameservers_object_legacy_id ON public.log_contacts USING btree ((((object ->> 'legacy_domain_id'::text))::integer));
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: unique_data_migrations; Type: INDEX; Schema: public; Owner: -
|
-- Name: unique_data_migrations; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
CREATE UNIQUE INDEX unique_data_migrations ON public.data_migrations USING btree (version);
|
CREATE UNIQUE INDEX unique_data_migrations ON public.data_migrations USING btree (version);
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: unique_schema_migrations; Type: INDEX; Schema: public; Owner: -
|
-- Name: unique_schema_migrations; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
CREATE UNIQUE INDEX unique_schema_migrations ON public.schema_migrations USING btree (version);
|
CREATE UNIQUE INDEX unique_schema_migrations ON public.schema_migrations USING btree (version);
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: contacts contacts_registrar_id_fk; Type: FK CONSTRAINT; Schema: public; Owner: -
|
-- Name: contacts_registrar_id_fk; Type: FK CONSTRAINT; Schema: public; Owner: -
|
||||||
--
|
--
|
||||||
|
|
||||||
ALTER TABLE ONLY public.contacts
|
ALTER TABLE ONLY public.contacts
|
||||||
|
@ -4086,7 +4086,7 @@ ALTER TABLE ONLY public.contacts
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: domain_contacts domain_contacts_contact_id_fk; Type: FK CONSTRAINT; Schema: public; Owner: -
|
-- Name: domain_contacts_contact_id_fk; Type: FK CONSTRAINT; Schema: public; Owner: -
|
||||||
--
|
--
|
||||||
|
|
||||||
ALTER TABLE ONLY public.domain_contacts
|
ALTER TABLE ONLY public.domain_contacts
|
||||||
|
@ -4711,5 +4711,7 @@ INSERT INTO "schema_migrations" (version) VALUES
|
||||||
('20200605100827'),
|
('20200605100827'),
|
||||||
('20200610090110'),
|
('20200610090110'),
|
||||||
('20200630081231'),
|
('20200630081231'),
|
||||||
('20200714115338');
|
('20200714115338'),
|
||||||
|
('20200807110611');
|
||||||
|
|
||||||
|
|
||||||
|
|
BIN
test/fixtures/files/legaldoc.pdf
vendored
Normal file
BIN
test/fixtures/files/legaldoc.pdf
vendored
Normal file
Binary file not shown.
|
@ -91,8 +91,8 @@ class RegistrantApiV1ContactUpdateTest < ActionDispatch::IntegrationTest
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_address_is_optional_when_enabled
|
def test_address_is_optional_when_enabled
|
||||||
@contact.update!(street: 'any', zip: 'any', city: 'any', state: 'any', country_code: 'US')
|
|
||||||
Setting.address_processing = true
|
Setting.address_processing = true
|
||||||
|
@contact.update!(street: 'any', zip: 'any', city: 'any', state: 'any', country_code: 'US')
|
||||||
|
|
||||||
patch api_v1_registrant_contact_path(@contact.uuid), params: { name: 'any' },
|
patch api_v1_registrant_contact_path(@contact.uuid), params: { name: 'any' },
|
||||||
as: :json,
|
as: :json,
|
||||||
|
|
|
@ -140,4 +140,115 @@ class EppContactCreateBaseTest < EppTestCase
|
||||||
end
|
end
|
||||||
assert_epp_response :required_parameter_missing
|
assert_epp_response :required_parameter_missing
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_does_not_save_address_when_address_processing_turned_off
|
||||||
|
name = 'new'
|
||||||
|
email = 'new@registrar.test'
|
||||||
|
phone = '+1.2'
|
||||||
|
|
||||||
|
request_xml = <<-XML
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<epp xmlns="https://epp.tld.ee/schema/epp-ee-1.0.xsd">
|
||||||
|
<command>
|
||||||
|
<create>
|
||||||
|
<contact:create xmlns:contact="https://epp.tld.ee/schema/contact-ee-1.1.xsd">
|
||||||
|
<contact:postalInfo>
|
||||||
|
<contact:name>#{name}</contact:name>
|
||||||
|
<contact:addr>
|
||||||
|
<contact:street>123 Example</contact:street>
|
||||||
|
<contact:city>Tallinn</contact:city>
|
||||||
|
<contact:sp>FFF</contact:sp>
|
||||||
|
<contact:pc>123456</contact:pc>
|
||||||
|
<contact:cc>EE</contact:cc>
|
||||||
|
</contact:addr>
|
||||||
|
</contact:postalInfo>
|
||||||
|
<contact:voice>#{phone}</contact:voice>
|
||||||
|
<contact:email>#{email}</contact:email>
|
||||||
|
</contact:create>
|
||||||
|
</create>
|
||||||
|
<extension>
|
||||||
|
<eis:extdata xmlns:eis="https://epp.tld.ee/schema/eis-1.0.xsd">
|
||||||
|
<eis:ident type="priv" cc="US">123</eis:ident>
|
||||||
|
</eis:extdata>
|
||||||
|
</extension>
|
||||||
|
</command>
|
||||||
|
</epp>
|
||||||
|
XML
|
||||||
|
|
||||||
|
assert_difference 'Contact.count' do
|
||||||
|
post epp_create_path, params: { frame: request_xml },
|
||||||
|
headers: { 'HTTP_COOKIE' => 'session=api_bestnames' }
|
||||||
|
end
|
||||||
|
|
||||||
|
assert_epp_response :completed_without_address
|
||||||
|
contact = Contact.find_by(name: name)
|
||||||
|
assert_equal name, contact.name
|
||||||
|
assert_equal email, contact.email
|
||||||
|
assert_equal phone, contact.phone
|
||||||
|
assert_not_empty contact.code
|
||||||
|
assert_nil contact.city
|
||||||
|
assert_nil contact.street
|
||||||
|
assert_nil contact.zip
|
||||||
|
assert_nil contact.country_code
|
||||||
|
assert_nil contact.state
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_saves_address_when_address_processing_turned_on
|
||||||
|
Setting.address_processing = true
|
||||||
|
|
||||||
|
name = 'new'
|
||||||
|
email = 'new@registrar.test'
|
||||||
|
phone = '+1.2'
|
||||||
|
street = '123 Example'
|
||||||
|
city = 'Tallinn'
|
||||||
|
state = 'Harjumaa'
|
||||||
|
zip = '123456'
|
||||||
|
country_code = 'EE'
|
||||||
|
|
||||||
|
request_xml = <<-XML
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<epp xmlns="https://epp.tld.ee/schema/epp-ee-1.0.xsd">
|
||||||
|
<command>
|
||||||
|
<create>
|
||||||
|
<contact:create xmlns:contact="https://epp.tld.ee/schema/contact-ee-1.1.xsd">
|
||||||
|
<contact:postalInfo>
|
||||||
|
<contact:name>#{name}</contact:name>
|
||||||
|
<contact:addr>
|
||||||
|
<contact:street>#{street}</contact:street>
|
||||||
|
<contact:city>#{city}</contact:city>
|
||||||
|
<contact:sp>#{state}</contact:sp>
|
||||||
|
<contact:pc>#{zip}</contact:pc>
|
||||||
|
<contact:cc>#{country_code}</contact:cc>
|
||||||
|
</contact:addr>
|
||||||
|
</contact:postalInfo>
|
||||||
|
<contact:voice>#{phone}</contact:voice>
|
||||||
|
<contact:email>#{email}</contact:email>
|
||||||
|
</contact:create>
|
||||||
|
</create>
|
||||||
|
<extension>
|
||||||
|
<eis:extdata xmlns:eis="https://epp.tld.ee/schema/eis-1.0.xsd">
|
||||||
|
<eis:ident type="priv" cc="US">123</eis:ident>
|
||||||
|
</eis:extdata>
|
||||||
|
</extension>
|
||||||
|
</command>
|
||||||
|
</epp>
|
||||||
|
XML
|
||||||
|
|
||||||
|
assert_difference 'Contact.count' do
|
||||||
|
post epp_create_path, params: { frame: request_xml },
|
||||||
|
headers: { 'HTTP_COOKIE' => 'session=api_bestnames' }
|
||||||
|
end
|
||||||
|
|
||||||
|
assert_epp_response :completed_successfully
|
||||||
|
contact = Contact.find_by(name: name)
|
||||||
|
assert_equal name, contact.name
|
||||||
|
assert_equal email, contact.email
|
||||||
|
assert_equal phone, contact.phone
|
||||||
|
assert_not_empty contact.code
|
||||||
|
assert_equal city, contact.city
|
||||||
|
assert_equal street, contact.street
|
||||||
|
assert_equal zip, contact.zip
|
||||||
|
assert_equal country_code, contact.country_code
|
||||||
|
assert_equal state, contact.state
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -232,6 +232,99 @@ class EppContactUpdateBaseTest < EppTestCase
|
||||||
assert_epp_response :completed_successfully
|
assert_epp_response :completed_successfully
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_updates_address_when_address_processing_turned_on
|
||||||
|
@contact.update_columns(code: @contact.code.upcase)
|
||||||
|
Setting.address_processing = true
|
||||||
|
|
||||||
|
street = '123 Example'
|
||||||
|
city = 'Tallinn'
|
||||||
|
state = 'Harjumaa'
|
||||||
|
zip = '123456'
|
||||||
|
country_code = 'EE'
|
||||||
|
|
||||||
|
request_xml = <<-XML
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<epp xmlns="https://epp.tld.ee/schema/epp-ee-1.0.xsd">
|
||||||
|
<command>
|
||||||
|
<update>
|
||||||
|
<contact:update xmlns:contact="https://epp.tld.ee/schema/contact-ee-1.1.xsd">
|
||||||
|
<contact:id>#{@contact.code}</contact:id>
|
||||||
|
<contact:chg>
|
||||||
|
<contact:postalInfo>
|
||||||
|
<contact:addr>
|
||||||
|
<contact:street>#{street}</contact:street>
|
||||||
|
<contact:city>#{city}</contact:city>
|
||||||
|
<contact:sp>#{state}</contact:sp>
|
||||||
|
<contact:pc>#{zip}</contact:pc>
|
||||||
|
<contact:cc>#{country_code}</contact:cc>
|
||||||
|
</contact:addr>
|
||||||
|
</contact:postalInfo>
|
||||||
|
</contact:chg>
|
||||||
|
</contact:update>
|
||||||
|
</update>
|
||||||
|
</command>
|
||||||
|
</epp>
|
||||||
|
XML
|
||||||
|
|
||||||
|
post epp_update_path, params: { frame: request_xml },
|
||||||
|
headers: { 'HTTP_COOKIE' => 'session=api_bestnames' }
|
||||||
|
|
||||||
|
assert_epp_response :completed_successfully
|
||||||
|
@contact.reload
|
||||||
|
|
||||||
|
assert_equal city, @contact.city
|
||||||
|
assert_equal street, @contact.street
|
||||||
|
assert_equal zip, @contact.zip
|
||||||
|
assert_equal country_code, @contact.country_code
|
||||||
|
assert_equal state, @contact.state
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_does_not_update_address_when_address_processing_turned_off
|
||||||
|
@contact.update_columns(code: @contact.code.upcase)
|
||||||
|
|
||||||
|
street = '123 Example'
|
||||||
|
city = 'Tallinn'
|
||||||
|
state = 'Harjumaa'
|
||||||
|
zip = '123456'
|
||||||
|
country_code = 'EE'
|
||||||
|
|
||||||
|
request_xml = <<-XML
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<epp xmlns="https://epp.tld.ee/schema/epp-ee-1.0.xsd">
|
||||||
|
<command>
|
||||||
|
<update>
|
||||||
|
<contact:update xmlns:contact="https://epp.tld.ee/schema/contact-ee-1.1.xsd">
|
||||||
|
<contact:id>#{@contact.code}</contact:id>
|
||||||
|
<contact:chg>
|
||||||
|
<contact:postalInfo>
|
||||||
|
<contact:addr>
|
||||||
|
<contact:street>#{street}</contact:street>
|
||||||
|
<contact:city>#{city}</contact:city>
|
||||||
|
<contact:sp>#{state}</contact:sp>
|
||||||
|
<contact:pc>#{zip}</contact:pc>
|
||||||
|
<contact:cc>#{country_code}</contact:cc>
|
||||||
|
</contact:addr>
|
||||||
|
</contact:postalInfo>
|
||||||
|
</contact:chg>
|
||||||
|
</contact:update>
|
||||||
|
</update>
|
||||||
|
</command>
|
||||||
|
</epp>
|
||||||
|
XML
|
||||||
|
|
||||||
|
post epp_update_path, params: { frame: request_xml },
|
||||||
|
headers: { 'HTTP_COOKIE' => 'session=api_bestnames' }
|
||||||
|
|
||||||
|
assert_epp_response :completed_without_address
|
||||||
|
@contact.reload
|
||||||
|
|
||||||
|
assert_nil @contact.city
|
||||||
|
assert_nil @contact.street
|
||||||
|
assert_nil @contact.zip
|
||||||
|
assert_nil @contact.country_code
|
||||||
|
assert_nil @contact.state
|
||||||
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
def make_contact_free_of_domains_where_it_acts_as_a_registrant(contact)
|
def make_contact_free_of_domains_where_it_acts_as_a_registrant(contact)
|
||||||
|
|
|
@ -14,6 +14,15 @@ class DirectoInvoiceForwardJobTest < ActiveSupport::TestCase
|
||||||
Setting.directo_monthly_number_last = 309901
|
Setting.directo_monthly_number_last = 309901
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_directo_json_sends_customer_as_hash
|
||||||
|
@invoice.update!(buyer_country_code: @user.address_country_code)
|
||||||
|
|
||||||
|
json_output = @invoice.as_directo_json
|
||||||
|
assert json_output['customer'].is_a? Hash
|
||||||
|
assert_equal @user.accounting_customer_code, json_output['customer']['code']
|
||||||
|
assert_equal @user.address_country_code, json_output['customer']['destination']
|
||||||
|
end
|
||||||
|
|
||||||
def test_xml_is_include_transaction_date
|
def test_xml_is_include_transaction_date
|
||||||
@invoice.update(total: @invoice.account_activity.bank_transaction.sum)
|
@invoice.update(total: @invoice.account_activity.bank_transaction.sum)
|
||||||
@invoice.account_activity.bank_transaction.update(paid_at: Time.zone.now)
|
@invoice.account_activity.bank_transaction.update(paid_at: Time.zone.now)
|
||||||
|
|
|
@ -1,17 +1,11 @@
|
||||||
require "test_helper"
|
require "test_helper"
|
||||||
|
|
||||||
class DomainDeleteConfirmJobTest < ActiveSupport::TestCase
|
class DomainDeleteConfirmJobTest < ActiveSupport::TestCase
|
||||||
def setup
|
setup do
|
||||||
super
|
@legal_doc_path = 'test/fixtures/files/legaldoc.pdf'
|
||||||
|
|
||||||
@domain = domains(:shop)
|
@domain = domains(:shop)
|
||||||
@new_registrant = contacts(:william)
|
@new_registrant = contacts(:william)
|
||||||
@user = users(:api_bestnames)
|
@user = users(:api_bestnames)
|
||||||
|
|
||||||
@domain.update!(pending_json: { new_registrant_id: @new_registrant.id,
|
|
||||||
new_registrant_name: @new_registrant.name,
|
|
||||||
new_registrant_email: @new_registrant.email,
|
|
||||||
current_user_id: @user.id })
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def teardown
|
def teardown
|
||||||
|
@ -19,6 +13,11 @@ class DomainDeleteConfirmJobTest < ActiveSupport::TestCase
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_rejected_registrant_verification_notifies_registrar
|
def test_rejected_registrant_verification_notifies_registrar
|
||||||
|
@domain.update!(pending_json: { new_registrant_id: @new_registrant.id,
|
||||||
|
new_registrant_name: @new_registrant.name,
|
||||||
|
new_registrant_email: @new_registrant.email,
|
||||||
|
current_user_id: @user.id })
|
||||||
|
|
||||||
DomainDeleteConfirmJob.enqueue(@domain.id, RegistrantVerification::REJECTED)
|
DomainDeleteConfirmJob.enqueue(@domain.id, RegistrantVerification::REJECTED)
|
||||||
|
|
||||||
last_registrar_notification = @domain.registrar.notifications.last
|
last_registrar_notification = @domain.registrar.notifications.last
|
||||||
|
@ -27,10 +26,57 @@ class DomainDeleteConfirmJobTest < ActiveSupport::TestCase
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_accepted_registrant_verification_notifies_registrar
|
def test_accepted_registrant_verification_notifies_registrar
|
||||||
|
@domain.update!(pending_json: { new_registrant_id: @new_registrant.id,
|
||||||
|
new_registrant_name: @new_registrant.name,
|
||||||
|
new_registrant_email: @new_registrant.email,
|
||||||
|
current_user_id: @user.id })
|
||||||
|
|
||||||
DomainDeleteConfirmJob.enqueue(@domain.id, RegistrantVerification::CONFIRMED)
|
DomainDeleteConfirmJob.enqueue(@domain.id, RegistrantVerification::CONFIRMED)
|
||||||
|
|
||||||
last_registrar_notification = @domain.registrar.notifications.last
|
last_registrar_notification = @domain.registrar.notifications.last
|
||||||
assert_equal(last_registrar_notification.attached_obj_id, @domain.id)
|
assert_equal(last_registrar_notification.attached_obj_id, @domain.id)
|
||||||
assert_equal(last_registrar_notification.text, 'Registrant confirmed domain deletion: shop.test')
|
assert_equal(last_registrar_notification.text, 'Registrant confirmed domain deletion: shop.test')
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_marks_domain_as_pending_delete_after_acceptance
|
||||||
|
epp_xml = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<epp>\n <command>\n <delete>\n" \
|
||||||
|
" <delete verified=\"no\">\n <name>#{@domain.name}</name>\n </delete>\n </delete>\n <extension>\n" \
|
||||||
|
" <extdata>\n <legalDocument type=\"pdf\">#{@legal_doc_path}</legalDocument>\n" \
|
||||||
|
" </extdata>\n </extension>\n <clTRID>20alla-1594212240</clTRID>\n </command>\n</epp>\n"
|
||||||
|
|
||||||
|
@domain.registrant_verification_asked!(epp_xml, @user.id)
|
||||||
|
@domain.pending_delete!
|
||||||
|
@domain.reload
|
||||||
|
|
||||||
|
assert @domain.registrant_delete_confirmable?(@domain.registrant_verification_token)
|
||||||
|
assert_equal @user.id, @domain.pending_json['current_user_id']
|
||||||
|
|
||||||
|
DomainDeleteConfirmJob.enqueue(@domain.id, RegistrantVerification::CONFIRMED)
|
||||||
|
@domain.reload
|
||||||
|
|
||||||
|
assert @domain.statuses.include? DomainStatus::PENDING_DELETE
|
||||||
|
assert @domain.statuses.include? DomainStatus::SERVER_HOLD
|
||||||
|
assert_not @domain.statuses.include? DomainStatus::PENDING_DELETE_CONFIRMATION
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_clears_pending_flags_after_delete_denial
|
||||||
|
epp_xml = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<epp>\n <command>\n <delete>\n" \
|
||||||
|
" <delete verified=\"no\">\n <name>#{@domain.name}</name>\n </delete>\n </delete>\n <extension>\n" \
|
||||||
|
" <extdata>\n <legalDocument type=\"pdf\">#{@legal_doc_path}</legalDocument>\n" \
|
||||||
|
" </extdata>\n </extension>\n <clTRID>20alla-1594212240</clTRID>\n </command>\n</epp>\n"
|
||||||
|
|
||||||
|
@domain.registrant_verification_asked!(epp_xml, @user.id)
|
||||||
|
@domain.pending_delete!
|
||||||
|
@domain.reload
|
||||||
|
|
||||||
|
assert @domain.registrant_delete_confirmable?(@domain.registrant_verification_token)
|
||||||
|
assert_equal @user.id, @domain.pending_json['current_user_id']
|
||||||
|
|
||||||
|
DomainDeleteConfirmJob.enqueue(@domain.id, RegistrantVerification::REJECTED)
|
||||||
|
@domain.reload
|
||||||
|
|
||||||
|
assert_equal ['ok'], @domain.statuses
|
||||||
|
assert_not @domain.statuses.include? DomainStatus::PENDING_DELETE_CONFIRMATION
|
||||||
|
assert_not @domain.statuses.include? DomainStatus::PENDING_DELETE
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -7,6 +7,7 @@ class DomainUpdateConfirmJobTest < ActiveSupport::TestCase
|
||||||
@domain = domains(:shop)
|
@domain = domains(:shop)
|
||||||
@new_registrant = contacts(:william)
|
@new_registrant = contacts(:william)
|
||||||
@user = users(:api_bestnames)
|
@user = users(:api_bestnames)
|
||||||
|
@legal_doc_path = 'test/fixtures/files/legaldoc.pdf'
|
||||||
|
|
||||||
@domain.update!(pending_json: { new_registrant_id: @new_registrant.id,
|
@domain.update!(pending_json: { new_registrant_id: @new_registrant.id,
|
||||||
new_registrant_name: @new_registrant.name,
|
new_registrant_name: @new_registrant.name,
|
||||||
|
@ -33,4 +34,34 @@ class DomainUpdateConfirmJobTest < ActiveSupport::TestCase
|
||||||
assert_equal(last_registrar_notification.attached_obj_id, @domain.id)
|
assert_equal(last_registrar_notification.attached_obj_id, @domain.id)
|
||||||
assert_equal(last_registrar_notification.text, 'Registrant confirmed domain update: shop.test')
|
assert_equal(last_registrar_notification.text, 'Registrant confirmed domain update: shop.test')
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_changes_domain_registrant_after_approval
|
||||||
|
epp_xml = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<epp>\n <command>\n <update>\n <update>\n <name>#{@domain.name}</name>\n" \
|
||||||
|
" <chg>\n <registrant>#{@new_registrant.code}</registrant>\n </chg>\n </update>\n </update>\n <extension>\n <update/>\n" \
|
||||||
|
" <extdata>\n <legalDocument type=\"pdf\">#{@legal_doc_path}</legalDocument>\n </extdata>\n" \
|
||||||
|
" </extension>\n <clTRID>20alla-1594199756</clTRID>\n </command>\n</epp>\n"
|
||||||
|
@domain.pending_json['frame'] = epp_xml
|
||||||
|
@domain.update(pending_json: @domain.pending_json)
|
||||||
|
|
||||||
|
@domain.reload
|
||||||
|
DomainUpdateConfirmJob.enqueue(@domain.id, RegistrantVerification::CONFIRMED)
|
||||||
|
@domain.reload
|
||||||
|
|
||||||
|
assert_equal @domain.registrant.code, @new_registrant.code
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_clears_pending_update_after_denial
|
||||||
|
epp_xml = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<epp>\n <command>\n <update>\n <update>\n <name>#{@domain.name}</name>\n" \
|
||||||
|
" <chg>\n <registrant>#{@new_registrant.code}</registrant>\n </chg>\n </update>\n </update>\n <extension>\n <update/>\n" \
|
||||||
|
" <extdata>\n <legalDocument type=\"pdf\">#{@legal_doc_path}</legalDocument>\n </extdata>\n" \
|
||||||
|
" </extension>\n <clTRID>20alla-1594199756</clTRID>\n </command>\n</epp>\n"
|
||||||
|
@domain.pending_json['frame'] = epp_xml
|
||||||
|
@domain.update(pending_json: @domain.pending_json)
|
||||||
|
|
||||||
|
DomainUpdateConfirmJob.enqueue(@domain.id, RegistrantVerification::REJECTED)
|
||||||
|
@domain.reload
|
||||||
|
|
||||||
|
assert_not @domain.statuses.include? DomainStatus::PENDING_DELETE_CONFIRMATION
|
||||||
|
assert_not @domain.statuses.include? DomainStatus::PENDING_DELETE
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -152,6 +152,8 @@ class ContactTest < ActiveSupport::TestCase
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_address
|
def test_address
|
||||||
|
Setting.address_processing = true
|
||||||
|
|
||||||
address = Contact::Address.new('new street', '83746', 'new city', 'new state', 'EE')
|
address = Contact::Address.new('new street', '83746', 'new city', 'new state', 'EE')
|
||||||
@contact.address = address
|
@contact.address = address
|
||||||
@contact.save!
|
@contact.save!
|
||||||
|
@ -238,6 +240,7 @@ class ContactTest < ActiveSupport::TestCase
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_normalizes_country_code
|
def test_normalizes_country_code
|
||||||
|
Setting.address_processing = true
|
||||||
contact = Contact.new(country_code: 'us')
|
contact = Contact.new(country_code: 'us')
|
||||||
contact.validate
|
contact.validate
|
||||||
assert_equal 'US', contact.country_code
|
assert_equal 'US', contact.country_code
|
||||||
|
|
|
@ -28,6 +28,7 @@ class EppResponseResultCodeTest < ActiveSupport::TestCase
|
||||||
codes = {
|
codes = {
|
||||||
completed_successfully: 1000,
|
completed_successfully: 1000,
|
||||||
completed_successfully_action_pending: 1001,
|
completed_successfully_action_pending: 1001,
|
||||||
|
completed_without_address: 1100,
|
||||||
completed_successfully_no_messages: 1300,
|
completed_successfully_no_messages: 1300,
|
||||||
completed_successfully_ack_to_dequeue: 1301,
|
completed_successfully_ack_to_dequeue: 1301,
|
||||||
completed_successfully_ending_session: 1500,
|
completed_successfully_ending_session: 1500,
|
||||||
|
@ -58,6 +59,7 @@ class EppResponseResultCodeTest < ActiveSupport::TestCase
|
||||||
descriptions = {
|
descriptions = {
|
||||||
1000 => 'Command completed successfully',
|
1000 => 'Command completed successfully',
|
||||||
1001 => 'Command completed successfully; action pending',
|
1001 => 'Command completed successfully; action pending',
|
||||||
|
1100 => 'Command completed successfully; Postal address data discarded',
|
||||||
1300 => 'Command completed successfully; no messages',
|
1300 => 'Command completed successfully; no messages',
|
||||||
1301 => 'Command completed successfully; ack to dequeue',
|
1301 => 'Command completed successfully; ack to dequeue',
|
||||||
1500 => 'Command completed successfully; ending session',
|
1500 => 'Command completed successfully; ending session',
|
||||||
|
|
|
@ -0,0 +1,41 @@
|
||||||
|
require 'application_system_test_case'
|
||||||
|
|
||||||
|
class DomainDeleteConfirmsTest < ApplicationSystemTestCase
|
||||||
|
setup do
|
||||||
|
@user = users(:registrant)
|
||||||
|
sign_in @user
|
||||||
|
|
||||||
|
@domain = domains(:shop)
|
||||||
|
@domain.registrant_verification_asked!('<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<epp></epp>', @user.id)
|
||||||
|
@domain.pending_delete!
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_enqueues_approve_job_after_verification
|
||||||
|
visit registrant_domain_delete_confirm_url(@domain.id, token: @domain.registrant_verification_token)
|
||||||
|
|
||||||
|
click_on 'Confirm domain delete'
|
||||||
|
assert_text 'Domain registrant change has successfully received.'
|
||||||
|
|
||||||
|
@domain.reload
|
||||||
|
assert_includes @domain.statuses, 'serverHold'
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_enqueues_reject_job_after_verification
|
||||||
|
visit registrant_domain_delete_confirm_url(@domain.id, token: @domain.registrant_verification_token)
|
||||||
|
|
||||||
|
click_on 'Reject domain delete'
|
||||||
|
assert_text 'Domain registrant change has been rejected successfully.'
|
||||||
|
|
||||||
|
@domain.reload
|
||||||
|
assert_equal ['ok'], @domain.statuses
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_saves_whodunnit_info_after_verifivation
|
||||||
|
visit registrant_domain_delete_confirm_url(@domain.id, token: @domain.registrant_verification_token)
|
||||||
|
token = @domain.registrant_verification_token
|
||||||
|
click_on 'Confirm domain delete'
|
||||||
|
assert_text 'Domain registrant change has successfully received.'
|
||||||
|
|
||||||
|
refute RegistrantVerification.find_by(verification_token:token).updator_str.empty?
|
||||||
|
end
|
||||||
|
end
|
|
@ -47,6 +47,7 @@ class ActiveSupport::TestCase
|
||||||
|
|
||||||
teardown do
|
teardown do
|
||||||
travel_back
|
travel_back
|
||||||
|
Setting.address_processing = false
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -60,9 +61,14 @@ class ApplicationIntegrationTest < ActionDispatch::IntegrationTest
|
||||||
WebMock.reset!
|
WebMock.reset!
|
||||||
Capybara.reset_sessions!
|
Capybara.reset_sessions!
|
||||||
Capybara.use_default_driver
|
Capybara.use_default_driver
|
||||||
|
Setting.address_processing = false
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
class EppTestCase < ActionDispatch::IntegrationTest
|
class EppTestCase < ActionDispatch::IntegrationTest
|
||||||
include Assertions::EppAssertions
|
include Assertions::EppAssertions
|
||||||
|
|
||||||
|
teardown do
|
||||||
|
Setting.address_processing = false
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue