diff --git a/.codeclimate.yml b/.codeclimate.yml index 9df308022..be8f1df7a 100644 --- a/.codeclimate.yml +++ b/.codeclimate.yml @@ -23,6 +23,7 @@ exclude_patterns: - "bin/" - "config/" - "db/" + - "lib/" - "vendor/" - "test/" - "spec/" diff --git a/.travis.yml b/.travis.yml index a5fec1a71..430d7fbb2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,6 +3,13 @@ cache: bundler env: - DB=postgresql bundler_args: --without development staging production +before_install: + - "wget -N http://chromedriver.storage.googleapis.com/2.40/chromedriver_linux64.zip -P ~/" + - "unzip ~/chromedriver_linux64.zip -d ~/" + - "rm ~/chromedriver_linux64.zip" + - "sudo mv -f ~/chromedriver /usr/local/share/" + - "sudo chmod +x /usr/local/share/chromedriver" + - "sudo ln -s /usr/local/share/chromedriver /usr/local/bin/chromedriver" before_script: - "cp config/application-example.yml config/application.yml" - "cp config/database-travis.yml config/database.yml" @@ -19,3 +26,4 @@ services: - postgresql addons: postgresql: "9.4" + chrome: stable diff --git a/CHANGELOG.md b/CHANGELOG.md index 8fe8f891a..ecefbb279 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,43 @@ +12.07.2018 +* Implemented JavaScript testing framework to catch web UI problems [#900](https://github.com/internetee/registry/issues/900) + +10.07.2018 +* Nameserver bulk change returns list of affected doamins [#835](https://github.com/internetee/registry/issues/835) + +26.06.2018 +* Whois data is updated now on pendingUpdate status removal [#757](https://github.com/internetee/registry/issues/757) +* Portal for registrars displays control code for MID authentication [#893](https://github.com/internetee/registry/issues/893) +* Changed date format in Directo invoice XML [#890](https://github.com/internetee/registry/pull/890) +* Registrant portal UI improvements [#888](https://github.com/internetee/registry/issues/888) +* Removed unused mailer code [#882](https://github.com/internetee/registry/pull/882) +* Sprocets gem update to 3.7.2 [#892](https://github.com/internetee/registry/issues/892) +* Replased Warden test helpers with Devise [#889](https://github.com/internetee/registry/issues/889) +* Removed dev rake task [#872](https://github.com/internetee/registry/pull/872) +* Spring gem removed [#856](https://github.com/internetee/registry/issues/856) +* Dcker conf changes [#881](https://github.com/internetee/registry/pull/881) +* Fixed Estonia in the country drop-down [#877](https://github.com/internetee/registry/issues/877) +* Codeclimate conf improvements [#854](https://github.com/internetee/registry/pull/854) +* Removed codeclimate badge from README [#876](https://github.com/internetee/registry/issues/876) +* added UUID for contact objects [#873](https://github.com/internetee/registry/pull/873) +* backported Rails 5 API [#868](https://github.com/internetee/registry/issues/868) + +20.06.2018 +* Bulk change function for technical contact replacement [#662](https://github.com/internetee/registry/issues/662) +* Removed vatcode and totalvat elements from directo request in attempt to fix invoice sending issue [#844](https://github.com/internetee/registry/issues/844) +* Regsitrar: added credit card payment option - disabled at the moment due to contractual reaons [#419](https://github.com/internetee/registry/issues/419) +* Registrant: enabled WHOIS requests over RestWHOIS API [#852](https://github.com/internetee/registry/issues/852) +* Fixed rspec configuration that caused test failures [#858](https://github.com/internetee/registry/issues/858) +* Admin: refactored date selection in pricelist [#869](https://github.com/internetee/registry/issues/869) +* Added uglifier gem for es6 compression [#864](https://github.com/internetee/registry/issues/864) +* Removed lib folder from autoload path [#859](https://github.com/internetee/registry/issues/859) +* test environment config improvements [#860](https://github.com/internetee/registry/issues/860) +* translation fixes [#865](https://github.com/internetee/registry/issues/865) +* removed obsolete .agignore [#866](https://github.com/internetee/registry/issues/866) +* removed rubocop gem [#857](https://github.com/internetee/registry/issues/857) +* new invoice payment test fix [#863](https://github.com/internetee/registry/issues/863) +* get puma gem config from Rails 5 [#867](https://github.com/internetee/registry/issues/867) +* Rails5 API controller temporary backport [#868](https://github.com/internetee/registry/issues/868) + 25.05.2018 * GDPR: updated whois templates with configurable disclaimer [#795](https://github.com/internetee/registry/issues/795) * GDPR: email forwarding solution to contact private domain registrants without revealing their email addresses [#824](https://github.com/internetee/registry/issues/824) diff --git a/Dockerfile b/Dockerfile index 480231fc2..bd0cbc07b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,23 +1,9 @@ -FROM ruby:2.3 +FROM internetee/ruby:2.3 MAINTAINER maciej.szlosarczyk@internet.ee -RUN apt-get update > /dev/null && apt-get install -y > /dev/null \ - build-essential \ - nodejs \ - imagemagick \ - postgresql-client - -RUN apt-get install -y > /dev/null \ - qt5-default \ - libqt5webkit5-dev \ - gstreamer1.0-plugins-base \ - gstreamer1.0-tools \ - qtdeclarative5-dev \ - gstreamer1.0-x - RUN mkdir -p /opt/webapps/app/tmp/pids WORKDIR /opt/webapps/app - COPY Gemfile Gemfile.lock ./ RUN gem install bundler && bundle install --jobs 20 --retry 5 + EXPOSE 3000 diff --git a/Gemfile b/Gemfile index 4073bd1e5..402d1de83 100644 --- a/Gemfile +++ b/Gemfile @@ -55,9 +55,7 @@ gem 'liquid', '3.0.6' # for email templates gem 'cancancan', '1.11.0' # autharization gem 'devise', '4.4.3' # authenitcation -# rest api -gem 'grape', '0.12.0' -gem 'hashie-forbidden_attributes', '0.1.1' # For grape, https://github.com/ruby-grape/grape/tree/v0.12.0#rails +gem 'grape' gem 'jbuilder', '2.2.16' # json api # registry specfic @@ -102,32 +100,25 @@ gem 'jquery-ui-rails', '5.0.5' gem 'active_model-errors_details' # Backport from Rails 5, https://github.com/rails/rails/pull/18322 group :development do - gem 'spring' - gem 'spring-commands-rspec' - # deploy gem 'mina', '0.3.1' # for fast deployment - gem 'puma' end group :development, :test do gem 'factory_bot_rails' gem 'capybara' gem 'rspec-rails', '~> 3.6' - gem 'poltergeist' + gem 'selenium-webdriver' # debug gem 'pry', '0.10.1' gem 'bullet', '4.14.7' # for finding database optimizations - gem 'bundler-audit' - gem 'brakeman', '3.6.1', require: false # for security audit' - # tmp, otherwise conflics with breakman - # gem 'html2haml', github: 'haml/html2haml', ref: '6984f50bdbbd6291535027726a5697f28778ee8d' gem 'html2haml', '2.1.0' 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 'autodoc' + gem 'puma' end group :staging do diff --git a/Gemfile.lock b/Gemfile.lock index de4749bd0..a8d6434e6 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -99,8 +99,8 @@ GEM minitest (~> 5.1) thread_safe (~> 0.3, >= 0.3.4) tzinfo (~> 1.1) - addressable (2.5.1) - public_suffix (~> 2.0, >= 2.0.2) + addressable (2.5.2) + public_suffix (>= 2.0.2, < 4.0) airbrake (6.0.0) airbrake-ruby (~> 2.0) airbrake-ruby (2.0.0) @@ -122,24 +122,21 @@ GEM bootstrap-sass (3.3.5.1) autoprefixer-rails (>= 5.0.0.1) sass (>= 3.3.0) - brakeman (3.6.1) builder (3.2.3) bullet (4.14.7) activesupport (>= 3.0.0) uniform_notifier (~> 1.9.0) - bundler-audit (0.5.0) - bundler (~> 1.2) - thor (~> 0.18) cancancan (1.11.0) - capybara (2.14.0) + capybara (3.3.1) addressable - mime-types (>= 1.16) - nokogiri (>= 1.3.3) - rack (>= 1.0.0) - rack-test (>= 0.5.4) - xpath (~> 2.0) + mini_mime (>= 0.1.3) + nokogiri (~> 1.8) + rack (>= 1.6.0) + rack-test (>= 0.6.3) + xpath (~> 3.1) + childprocess (0.9.0) + ffi (~> 1.0, >= 1.0.11) chronic (0.10.2) - cliver (0.3.2) coderay (1.1.0) coercible (1.0.0) descendants_tracker (~> 0.0.1) @@ -184,19 +181,17 @@ GEM factory_bot_rails (4.8.2) factory_bot (~> 4.8.2) railties (>= 3.0.0) + ffi (1.9.25) figaro (1.1.1) thor (~> 0.14) globalid (0.4.1) activesupport (>= 4.2.0) - grape (0.12.0) + grape (1.0.3) activesupport builder - hashie (>= 2.1.0) - multi_json (>= 1.3.2) - multi_xml (>= 0.5.2) + mustermann-grape (~> 1.0.0) rack (>= 1.3.0) rack-accept - rack-mount virtus (>= 1.0.0) gyoku (1.3.1) builder (>= 2.1.2) @@ -208,10 +203,7 @@ GEM haml (>= 4.0.6, < 5.0) html2haml (>= 1.0.1) railties (>= 4.0.1) - hashdiff (0.3.4) - hashie (3.5.5) - hashie-forbidden_attributes (0.1.1) - hashie (>= 3.0) + hashdiff (0.3.7) hpricot (0.8.6) html2haml (2.1.0) erubis (~> 2.7.0) @@ -270,38 +262,34 @@ GEM monetize (~> 1.6.0) money (~> 6.8.1) railties (>= 3.0) - multi_json (1.12.1) - multi_xml (0.6.0) + multi_json (1.13.1) + mustermann (1.0.2) + mustermann-grape (1.0.0) + mustermann (~> 1.0.0) netrc (0.11.0) - nokogiri (1.8.2) + nokogiri (1.8.4) mini_portile2 (~> 2.3.0) nori (2.6.0) open4 (1.3.4) orm_adapter (0.5.0) pdfkit (0.6.2) pg (0.19.0) - poltergeist (1.14.0) - capybara (~> 2.1) - cliver (~> 0.3.1) - websocket-driver (>= 0.2.0) polyamorous (1.3.1) activerecord (>= 3.0) pry (0.10.1) coderay (~> 1.1.0) method_source (~> 0.8.1) slop (~> 3.4) - public_suffix (2.0.5) + public_suffix (3.0.2) puma (3.8.2) que (0.10.0) que-web (0.4.0) erubis que (~> 0.8) sinatra - rack (1.6.9) + rack (1.6.10) rack-accept (0.4.5) rack (>= 0.4) - rack-mount (0.8.3) - rack (>= 1.0.0) rack-protection (1.5.5) rack rack-test (0.6.3) @@ -372,6 +360,7 @@ GEM rspec-support (3.6.0) ruby_parser (3.8.4) sexp_processor (~> 4.1) + rubyzip (1.2.1) safe_yaml (1.0.4) sass (3.4.23) sass-rails (5.0.6) @@ -394,6 +383,9 @@ GEM select2-rails (3.5.9.3) thor (~> 0.14) selectize-rails (0.12.1) + selenium-webdriver (3.13.0) + childprocess (~> 0.5) + rubyzip (~> 1.2) sexp_processor (4.8.0) simplecov (0.15.1) docile (~> 1.1.0) @@ -408,11 +400,7 @@ GEM sixarm_ruby_unaccent (1.1.1) slop (3.6.0) socksify (1.7.1) - spring (2.0.2) - activesupport (>= 4.2) - spring-commands-rspec (1.0.4) - spring (>= 0.9.1) - sprockets (3.7.1) + sprockets (3.7.2) concurrent-ruby (~> 1.0) rack (> 1, < 3) sprockets-rails (3.2.1) @@ -444,17 +432,14 @@ GEM wasabi (3.5.0) httpi (~> 2.0) nokogiri (>= 1.4.2) - webmock (3.0.1) + webmock (3.4.2) addressable (>= 2.3.6) crack (>= 0.3.2) hashdiff - websocket-driver (0.6.5) - websocket-extensions (>= 0.1.0) - websocket-extensions (0.1.2) whenever (0.9.4) chronic (>= 0.6.3) - xpath (2.0.0) - nokogiri (~> 1.3) + xpath (3.1.0) + nokogiri (~> 1.8) PLATFORMS ruby @@ -466,9 +451,7 @@ DEPENDENCIES airbrake autodoc bootstrap-sass (= 3.3.5.1) - brakeman (= 3.6.1) bullet (= 4.14.7) - bundler-audit cancancan (= 1.11.0) capybara coderay (= 1.1.0) @@ -483,9 +466,8 @@ DEPENDENCIES epp-xml (= 1.1.0)! factory_bot_rails figaro (= 1.1.1) - grape (= 0.12.0) + grape haml-rails (= 0.9.0) - hashie-forbidden_attributes (= 0.1.1) html2haml (= 2.1.0) html5_validators (= 1.2.2) isikukood @@ -501,7 +483,6 @@ DEPENDENCIES paper_trail! pdfkit (= 0.6.2) pg (= 0.19.0) - poltergeist pry (= 0.10.1) puma que (= 0.10.0) @@ -517,10 +498,9 @@ DEPENDENCIES sdoc (= 0.4.1) select2-rails (= 3.5.9.3) selectize-rails (= 0.12.1) + selenium-webdriver simplecov simpleidn (= 0.0.7) - spring - spring-commands-rspec uglifier uuidtools (= 2.1.5) validates_email_format_of (= 1.6.3) @@ -528,4 +508,4 @@ DEPENDENCIES whenever (= 0.9.4) BUNDLED WITH - 1.16.1 + 1.16.2 diff --git a/README.md b/README.md index a8a85a3d8..5beca0a87 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,6 @@ Domain Registry =============== [![Build Status](https://travis-ci.org/internetee/registry.svg?branch=master)](https://travis-ci.org/internetee/registry) [![Code Climate](https://codeclimate.com/github/internetee/registry/badges/gpa.svg)](https://codeclimate.com/github/internetee/registry) -[![Issue Count](https://codeclimate.com/github/internetee/registry/badges/issue_count.svg)](https://codeclimate.com/github/internetee/registry) [![Test Coverage](https://codeclimate.com/github/internetee/registry/badges/coverage.svg)](https://codeclimate.com/github/internetee/registry/coverage) [![Documentation Status](https://readthedocs.org/projects/eeregistry/badge/?version=latest)](http://docs.internet.ee/en/latest/?badge=latest) @@ -31,7 +30,7 @@ Documentation Installation ------------ -### Registry app +### Registry app Registry based on Rails 4 installation (rbenv install is under Debian build doc) @@ -57,7 +56,7 @@ Manual demo install and database setup: tar -xzvf mod_epp-1.10.tar.gz cd mod_epp-1.10 -Patch mod_epp for Rack. Beacause Rack multipart parser expects specifically +Patch mod_epp for Rack. Beacause Rack multipart parser expects specifically formatted content boundaries, the mod_epp needs to be modified before building: wget https://github.com/internetee/registry/raw/master/doc/patches/mod_epp_1.10-rack-friendly.patch @@ -136,7 +135,7 @@ For Apache, registry admin goes to port 443 in production, /etc/apache2/sites-en ``` -Registrar configuration (/etc/apache2/sites-enabled/registrar.conf) is as follows: +Registrar configuration (/etc/apache2/sites-enabled/registrar.conf) is as follows: ``` ServerName your-registrar-domain @@ -179,7 +178,7 @@ Registrar configuration (/etc/apache2/sites-enabled/registrar.conf) is as follow # for Apache verison 2.4 or newer # Require all granted - + Options -MultiViews @@ -220,7 +219,7 @@ Registrar configuration (/etc/apache2/sites-enabled/registrar.conf) is as follow ``` -Registrant configuration (/etc/apache2/sites-enabled/registrant.conf) is as follows: +Registrant configuration (/etc/apache2/sites-enabled/registrant.conf) is as follows: ``` ServerName your-registrant-domain @@ -263,7 +262,7 @@ Registrant configuration (/etc/apache2/sites-enabled/registrant.conf) is as foll # for Apache verison 2.4 or newer # Require all granted - + Options -MultiViews @@ -271,11 +270,11 @@ Registrant configuration (/etc/apache2/sites-enabled/registrant.conf) is as foll Allow from none Deny from all - + Allow from all - + Allow from all @@ -342,8 +341,8 @@ For Apache, REPP goes to port 443 in production, /etc/apache2/sites-enabled/repp ``` -For Apache, epp goes to port 700. -Be sure to update paths to match your system configuration. +For Apache, epp goes to port 700. +Be sure to update paths to match your system configuration. /etc/apache2/sites-enabled/epp.conf short example: ```apache @@ -405,7 +404,7 @@ Be sure to update paths to match your system configuration. EPPSessionRoot /proxy/session EPPErrorRoot /proxy/error EPPRawFrame raw_frame - + ProxyPass /proxy/ http://localhost:8080/epp/ EPPAuthURI implicit @@ -421,7 +420,7 @@ Enable epp_ssl and restart apache Now you should see registry admin at https://your-domain -All registry demo data can be found at: +All registry demo data can be found at: db/seeds.rb @@ -464,4 +463,3 @@ Please follow EPP web client readme: Please follow WHOIS server readme: https://github.com/internetee/whois - diff --git a/app/api/repp/nameservers_v1.rb b/app/api/repp/nameservers_v1.rb index d653adf7f..04d7d4f6a 100644 --- a/app/api/repp/nameservers_v1.rb +++ b/app/api/repp/nameservers_v1.rb @@ -29,7 +29,7 @@ module Repp } begin - current_user.registrar.replace_nameservers(hostname, new_attributes) + affected_domains = current_user.registrar.replace_nameservers(hostname, new_attributes) rescue ActiveRecord::RecordInvalid => e error!({ errors: e.record.errors.full_messages.map { |error| { title: error } } }, 400) end @@ -37,7 +37,8 @@ module Repp status 200 @response = { data: { type: 'nameserver', id: params[:data][:attributes][:hostname], - attributes: params[:data][:attributes] } } + attributes: params[:data][:attributes] }, + affected_domains: affected_domains } end end end diff --git a/app/assets/stylesheets/shared/general.sass b/app/assets/stylesheets/shared/general.sass index fd8bc2905..07b92cdbe 100644 --- a/app/assets/stylesheets/shared/general.sass +++ b/app/assets/stylesheets/shared/general.sass @@ -52,10 +52,5 @@ body > .container .text-grey color: grey -.partially-hidden - border: 1px solid #dddddd - padding-left: 4px - padding-right: 4px - .disabled-value padding-top: 8px diff --git a/app/controllers/registrant/contacts_controller.rb b/app/controllers/registrant/contacts_controller.rb index db6c279eb..f73650de2 100644 --- a/app/controllers/registrant/contacts_controller.rb +++ b/app/controllers/registrant/contacts_controller.rb @@ -1,12 +1,15 @@ class Registrant::ContactsController < RegistrantController helper_method :domain_ids + def show - @contact = Contact.where(id: contacts).find_by(id: params[:id]) + @contact = Contact.where(id: contacts).find_by(id: params[:id]) @current_user = current_user authorize! :read, @contact end + private + def contacts begin DomainContact.where(domain_id: domain_ids).pluck(:contact_id) | Domain.where(id: domain_ids).pluck(:registrant_id) diff --git a/app/controllers/registrant/domain_update_confirms_controller.rb b/app/controllers/registrant/domain_update_confirms_controller.rb index ca91f0192..0d23943c9 100644 --- a/app/controllers/registrant/domain_update_confirms_controller.rb +++ b/app/controllers/registrant/domain_update_confirms_controller.rb @@ -1,6 +1,6 @@ class Registrant::DomainUpdateConfirmsController < RegistrantController - skip_before_action :authenticate_user!, only: [:show, :update] - skip_authorization_check only: [:show, :update] + skip_before_action :authenticate_user!, only: %i[show update] + skip_authorization_check only: %i[show update] def show return if params[:confirmed] || params[:rejected] diff --git a/app/controllers/registrant/registrars_controller.rb b/app/controllers/registrant/registrars_controller.rb index d0630b73a..7bb101bb9 100644 --- a/app/controllers/registrant/registrars_controller.rb +++ b/app/controllers/registrant/registrars_controller.rb @@ -1,7 +1,6 @@ class Registrant::RegistrarsController < RegistrantController - def show @registrar = Registrar.find(params[:id]) authorize! :read, @registrar end -end +end \ No newline at end of file diff --git a/app/controllers/registrar/nameservers_controller.rb b/app/controllers/registrar/nameservers_controller.rb index b6f7af829..3b70059a2 100644 --- a/app/controllers/registrar/nameservers_controller.rb +++ b/app/controllers/registrar/nameservers_controller.rb @@ -44,7 +44,10 @@ class Registrar parsed_response = JSON.parse(response.body, symbolize_names: true) if response.code == '200' - flash[:notice] = t '.replaced' + notices = [t('.replaced')] + notices << "#{t('.affected_domains')}: #{parsed_response[:affected_domains].join(', ')}" + + flash[:notice] = notices redirect_to registrar_domains_url else @api_errors = parsed_response[:errors] diff --git a/app/controllers/registrar/sessions_controller.rb b/app/controllers/registrar/sessions_controller.rb index 1a8b195ee..11841481d 100644 --- a/app/controllers/registrar/sessions_controller.rb +++ b/app/controllers/registrar/sessions_controller.rb @@ -91,7 +91,7 @@ class Registrar @user = find_user_by_idc_and_allowed(response.user_id_code) else @user = find_user_by_idc(response.user_id_code) - end + end if @user.persisted? session[:user_id_code] = response.user_id_code diff --git a/app/jobs/domain_update_confirm_job.rb b/app/jobs/domain_update_confirm_job.rb index b4d2a9f57..c661c7b6b 100644 --- a/app/jobs/domain_update_confirm_job.rb +++ b/app/jobs/domain_update_confirm_job.rb @@ -23,7 +23,9 @@ class DomainUpdateConfirmJob < Que::Job registrant: domain.registrant).deliver_now domain.poll_message!(:poll_pending_update_rejected_by_registrant) - domain.clean_pendings_lowlevel + + domain.preclean_pendings + domain.clean_pendings! end destroy # it's best to destroy the job in the same transaction end diff --git a/app/mailers/domain_mailer.rb b/app/mailers/domain_mailer.rb index f14f4b4a7..d92e79ac0 100644 --- a/app/mailers/domain_mailer.rb +++ b/app/mailers/domain_mailer.rb @@ -45,18 +45,4 @@ class DomainMailer < ApplicationMailer subject: "#{I18n.t(:delete_confirmation_subject, name: @domain.name)} [#{@domain.name}]") end - - private - # app/models/DomainMailModel provides the data for mail that can be composed_from - # which ensures that values of objects are captured when they are valid, not later when this method is executed - def compose_from(params) - @params = params - return if delivery_off?(params, params[:deliver_emails]) - return if whitelist_blocked?(params[:recipient]) - params[:errors].map do |error| - logger.warn error - return - end - mail(to: params[:recipient], subject: params[:subject]) - end -end +end \ No newline at end of file diff --git a/app/models/concerns/contact/transferable.rb b/app/models/concerns/contact/transferable.rb index 14c1cac3c..3f151251a 100644 --- a/app/models/concerns/contact/transferable.rb +++ b/app/models/concerns/contact/transferable.rb @@ -16,6 +16,7 @@ module Concerns::Contact::Transferable new_contact.regenerate_code new_contact.regenerate_auth_info new_contact.remove_address unless self.class.address_processing? + new_contact.uuid = nil new_contact.save(validate: false) new_contact end diff --git a/app/models/contact.rb b/app/models/contact.rb index 24dc2b4f2..088ec0b59 100644 --- a/app/models/contact.rb +++ b/app/models/contact.rb @@ -447,31 +447,6 @@ class Contact < ActiveRecord::Base domains end - def all_registrant_domains(page: nil, per: nil, params: {}, registrant: nil) - - if registrant - sorts = params.fetch(:sort, {}).first || [] - sort = Domain.column_names.include?(sorts.first) ? sorts.first : "valid_to" - order = {"asc"=>"desc", "desc"=>"asc"}[sorts.second] || "desc" - - domain_ids = DomainContact.distinct.where(contact_id: registrant.id).pluck(:domain_id) - - domains = Domain.where(id: domain_ids).includes(:registrar).page(page).per(per) - if sorts.first == "registrar_name".freeze - domains = domains.includes(:registrar).where.not(registrars: {id: nil}).order("registrars.name #{order} NULLS LAST") - else - domains = domains.order("#{sort} #{order} NULLS LAST") - end - - domain_c = Hash.new([]) - registrant_domains.where(id: domains.map(&:id)).each{|d| domain_c[d.id] |= ["Registrant".freeze] } - DomainContact.where(contact_id: id, domain_id: domains.map(&:id)).each{|d| domain_c[d.domain_id] |= [d.type] } - domains.each{|d| d.roles = domain_c[d.id].uniq} - domains - end - end - - def update_prohibited? (statuses & [ CLIENT_UPDATE_PROHIBITED, diff --git a/app/models/directo.rb b/app/models/directo.rb index 1269e7033..3fc51bb40 100644 --- a/app/models/directo.rb +++ b/app/models/directo.rb @@ -26,7 +26,7 @@ class Directo < ActiveRecord::Base xml.invoice( "SalesAgent" => Setting.directo_sales_agent, "Number" => num, - "InvoiceDate" => invoice.created_at.strftime("%Y-%m-%dT%H:%M:%S"), + "InvoiceDate" => invoice.created_at.strftime("%Y-%m-%d"), "PaymentTerm" => Setting.directo_receipt_payment_term, "Currency" => invoice.currency, "CustomerCode"=> invoice.buyer.accounting_customer_code diff --git a/app/models/domain.rb b/app/models/domain.rb index b13be6a8d..0ec5c67fd 100644 --- a/app/models/domain.rb +++ b/app/models/domain.rb @@ -288,36 +288,6 @@ class Domain < ActiveRecord::Base save end - - # state changes may be done low-level - no validation - # in this metod we still save PaperTrail log. - def clean_pendings_lowlevel - statuses.delete(DomainStatus::PENDING_DELETE_CONFIRMATION) - statuses.delete(DomainStatus::PENDING_UPDATE) - statuses.delete(DomainStatus::PENDING_DELETE) - - status_notes[DomainStatus::PENDING_UPDATE] = '' - status_notes[DomainStatus::PENDING_DELETE] = '' - - hash = { - registrant_verification_token: nil, - registrant_verification_asked_at: nil, - pending_json: {}, - status_notes: status_notes, - statuses: statuses.presence || [DomainStatus::OK], - # need this column in order to update PaperTrail version properly - updated_at: Time.now.utc - } - - # PaperTrail - self.attributes = hash - record_update - clear_version_instance! - reset_transaction_id - - update_columns(hash) - end - def pending_update! return true if pending_update? self.epp_pending_update = true # for epp @@ -575,10 +545,6 @@ class Domain < ActiveRecord::Base end end - def send_mail(action) - DomainMailer.send(action, DomainMailModel.new(self).send(action)).deliver - end - def admin_contact_names admin_contacts.names end diff --git a/app/models/domain_cron.rb b/app/models/domain_cron.rb index 0379153e8..2d208d647 100644 --- a/app/models/domain_cron.rb +++ b/app/models/domain_cron.rb @@ -21,7 +21,10 @@ class DomainCron if domain.pending_delete? || domain.pending_delete_confirmation? DomainMailer.pending_delete_expired_notification(domain.id, true).deliver end - domain.clean_pendings_lowlevel + + domain.preclean_pendings + domain.clean_pendings! + unless Rails.env.test? STDOUT << "#{Time.zone.now.utc} DomainCron.clean_expired_pendings: ##{domain.id} (#{domain.name})\n" end diff --git a/app/models/domain_mail_model.rb b/app/models/domain_mail_model.rb deleted file mode 100644 index 3f92a3138..000000000 --- a/app/models/domain_mail_model.rb +++ /dev/null @@ -1,117 +0,0 @@ -class DomainMailModel - # Capture current values used in app/views/mailers/domain_mailer/* and app/mailers/domain_mailer will send later - - def initialize(domain) - @domain = domain - @params = {errors: [], deliver_emails: domain.deliver_emails, id: domain.id} - end - - def pending_delete_rejected_notification - registrant - subject(:pending_delete_rejected_notification_subject) - compose - end - - def pending_delete_expired_notification - registrant - subject(:pending_delete_expired_notification_subject) - compose - end - - def delete_confirmation - registrant - subject(:delete_confirmation_subject) - compose - end - - def force_delete - admins - subject(:force_delete_subject) - compose - end - - private - - def registrant_old - @params[:recipient] = format Registrant.find(@domain.registrant_id_was).email - end - - def registrant - @params[:recipient] = format @domain.registrant.email - end - - def registrant_pending - @params[:recipient] = format @domain.pending_json['new_registrant_email'] - @params[:new_registrant_name] = @domain.pending_json['new_registrant_name'] - @params[:old_registrant_name] = @domain.registrant.name - end - - # registrant and domain admin contacts - def admins - emails = ([@domain.registrant.email] + @domain.admin_contacts.map { |x| format(x.email) }) - @params[:recipient] = emails.uniq.map { |x| format(x) } - end - - # puny internet domain name, TODO: username - def format(email) - return warn_no_email if email.nil? - user, host = email.split('@') - host = SimpleIDN.to_ascii(host) - "#{user}@#{host}" - end - - def subject(subject) - @params[:name] = @domain.name - @params[:subject] = "#{I18n.t(subject, name: @domain.name)}, [#{@domain.name}]" - end - - def confirm_update - verification_url('domain_update_confirms') - end - - def compose - @params - end - - def verification_url(path) - token = verification_token or return - @params[:verification_url] = "#{ENV['registrant_url']}/registrant/#{path}/#{@domain.id}?token=#{token}" - end - - def verification_token - return warn_missing(:registrant_verification_token) if @domain.registrant_verification_token.blank? - return warn_missing(:registrant_verification_asked_at) if @domain.registrant_verification_asked_at.blank? - @domain.registrant_verification_token - end - - def domain_info - [:name, :registrar_name, - :registrant_name, :registrant_ident, :registrant_email, - :registrant_street,:registrant_city - ].each do |attr| - @params.store attr, @domain.send(attr) - end - @params.store :registrant_country, @domain.registrant_country.name - @params.store :registrant_priv, @domain.registrant.priv? - @params.store :old_registrant_name, Registrant.find(@domain.registrant_id_was).name - @params - end - - def warn_no_email(item = 'email') - warn_missing item - nil - end - - def warn_missing(item) - warn_not_delivered "#{item.to_s} is missing for #{@domain.name}" - end - - def warn_not_delivered(reason) - message = "EMAIL NOT DELIVERED: #{reason}" - @params[:errors] << message -# Rails.logger.warn message - nil - end - -end - diff --git a/app/models/registrar.rb b/app/models/registrar.rb index 05a5ad380..de02d42a7 100644 --- a/app/models/registrar.rb +++ b/app/models/registrar.rb @@ -132,14 +132,20 @@ class Registrar < ActiveRecord::Base # Audit log is needed, therefore no raw SQL def replace_nameservers(hostname, new_attributes) transaction do + domain_list = [] + nameservers.where(hostname: hostname).find_each do |original_nameserver| new_nameserver = Nameserver.new new_nameserver.domain = original_nameserver.domain new_nameserver.attributes = new_attributes new_nameserver.save! + domain_list << original_nameserver.domain.name + original_nameserver.destroy! end + + domain_list.uniq.sort end end diff --git a/app/models/sorted_country.rb b/app/models/sorted_country.rb index 19ad5f4f3..7b27adacb 100644 --- a/app/models/sorted_country.rb +++ b/app/models/sorted_country.rb @@ -18,7 +18,7 @@ class SortedCountry def quick_list @quick_list ||= [ - %w[Estonia' EE], + %w[Estonia EE], %w[Finland FI], %w[Latvia LV], %w[Lithuania LT], diff --git a/app/views/admin/contacts/partials/_general.haml b/app/views/admin/contacts/partials/_general.haml index db1eaf412..029f89509 100644 --- a/app/views/admin/contacts/partials/_general.haml +++ b/app/views/admin/contacts/partials/_general.haml @@ -6,9 +6,10 @@ %dt= t(:id) %dd= @contact.code - %dt= t(:authinfo_pw) + %dt= Contact.human_attribute_name :auth_info %dd - = text_field_tag :auth_info, @contact.auth_info, readonly: true, class: 'partially-hidden' + = tag :input, type: 'text', value: @contact.auth_info, readonly: true, + class: 'form-control input-sm' %br diff --git a/app/views/application/_flash_messages.html.erb b/app/views/application/_flash_messages.html.erb index 9b31f0d3f..364e3e5ca 100644 --- a/app/views/application/_flash_messages.html.erb +++ b/app/views/application/_flash_messages.html.erb @@ -1,24 +1,8 @@ -<% if flash[:notice] %> -
- - <% if flash[:notice].respond_to?(:join) %> -

<%= flash[:notice].join('
').html_safe %>

- <% else %> -

<%= flash[:notice] %>

- <% end %> +<% display = (flash[:notice] || flash[:alert] || flash[:warning]) ? 'block' : 'none' %> +
+ <% type = (flash[:notice]) ? 'bg-success' : 'bg-danger' %> + <% type = 'bg-warning' if flash[:warning] %> +
+ <%= flash[:notice] || flash[:alert] || flash[:warning] %>
-<% end %> - -<% if flash[:alert] %> -
- -

<%= flash[:alert] %>

-
-<% end %> - -<% if flash[:info] %> -
- -

<%= flash[:info] %>

-
-<% end %> +
diff --git a/app/views/layouts/registrant/application.html.erb b/app/views/layouts/registrant/application.html.erb index 075ac4652..b5ddb5f0f 100644 --- a/app/views/layouts/registrant/application.html.erb +++ b/app/views/layouts/registrant/application.html.erb @@ -65,7 +65,7 @@
- <%= render 'shared/flash' %> + <%= render 'flash_messages' %> <%= yield %>
diff --git a/app/views/layouts/registrar/base.html.erb b/app/views/layouts/registrar/base.html.erb index 3bc1c5b0f..c14899418 100644 --- a/app/views/layouts/registrar/base.html.erb +++ b/app/views/layouts/registrar/base.html.erb @@ -1,63 +1,63 @@ - - - - <% if content_for? :head_title %> - <%= yield :head_title %> - <% else %> - - <%= t(:registrar_head_title) %> - - <% end %> - <%= csrf_meta_tags %> - <%= stylesheet_link_tag 'registrar-manifest', media: 'all' %> - <%= favicon_link_tag 'favicon.ico' %> - - - -
- <%= render 'flash_messages' %> - <% if depp_controller? %> - <%= render 'registrar/shared/epp_results' %> - <% end %> - <%= yield %> -
-
-
-
-
- <%= image_tag 'eis-logo-et.png' %> +
+
+
+
+ <%= image_tag 'eis-logo-et.png' %> +
+
+ Version + <%= CURRENT_COMMIT_HASH %> +
+
-
- Version - <%= CURRENT_COMMIT_HASH %> -
-
-
-
-<%= javascript_include_tag 'registrar-manifest', async: true %> - +
+ <%= javascript_include_tag 'registrar-manifest', async: true %> + diff --git a/app/views/layouts/registrar/sessions.html.erb b/app/views/layouts/registrar/sessions.html.erb index 904388155..4632e477c 100644 --- a/app/views/layouts/registrar/sessions.html.erb +++ b/app/views/layouts/registrar/sessions.html.erb @@ -51,4 +51,4 @@ - \ No newline at end of file + diff --git a/app/views/registrant/contacts/partials/_address.haml b/app/views/registrant/contacts/partials/_address.haml deleted file mode 100644 index fe57bd393..000000000 --- a/app/views/registrant/contacts/partials/_address.haml +++ /dev/null @@ -1,23 +0,0 @@ -.panel.panel-default - .panel-heading - %h3.panel-title= t(:address) - .panel-body - %dl.dl-horizontal - - if @contact.org_name.present? - %dt= t(:org_name) - %dd= @contact.org_name - - %dt= t(:street) - %dd= @contact.street - - %dt= t(:city) - %dd= @contact.city - - %dt= t(:zip) - %dd= @contact.zip - - %dt= t(:state) - %dd= @contact.state - - %dt= t(:country) - %dd= @contact.country diff --git a/app/views/registrant/contacts/partials/_domains.haml b/app/views/registrant/contacts/partials/_domains.haml deleted file mode 100644 index 011b9c404..000000000 --- a/app/views/registrant/contacts/partials/_domains.haml +++ /dev/null @@ -1,30 +0,0 @@ -- domains = contact.all_domains(page: params[:domain_page], per: 20, params: params.merge(leave_domains: domain_ids)) -#contacts.panel.panel-default - .panel-heading - .pull-left - = t(:domains) - .pull-right - = form_tag request.path, method: :get do - = select_tag :domain_filter, options_for_select(%w(Registrant AdminDomainContact TechDomainContact), selected: params[:domain_filter]), - include_blank: true, class: 'form-control2 selectize2' - %button.btn.btn-primary - %span.glyphicon.glyphicon-search - .clearfix - - .table-responsive - %table.table.table-hover.table-bordered.table-condensed - %thead - %tr - %th{class: 'col-xs-3'}=custom_sort_link t(:domain_name), :name - %th{class: 'col-xs-3'}=custom_sort_link t(:registrar_name), :registrar_name - %th{class: 'col-xs-3'}=custom_sort_link t(:valid_to), :valid_to - %th{class: 'col-xs-3'}=custom_sort_link Domain.human_attribute_name(:roles), :roles - %tbody - - domains.each do |x| - %tr - %td= link_to(x.name, [:registrant, x]) - %td= link_to(x.registrar, [:registrant, x.registrar]) - %td= l(x.valid_to, format: :short) - %td= x.roles.join(", ") - -= paginate domains, param_name: :domain_page diff --git a/app/views/registrant/contacts/partials/_general.haml b/app/views/registrant/contacts/partials/_general.haml deleted file mode 100644 index 6a59cdfef..000000000 --- a/app/views/registrant/contacts/partials/_general.haml +++ /dev/null @@ -1,48 +0,0 @@ -.panel.panel-default - .panel-heading - %h3.panel-title= t(:general) - .panel-body - %dl.dl-horizontal - %dt= t(:id) - %dd= @contact.code - - %dt= t(:name) - %dd= @contact.name - - %dt= t(:password) - %dd - = text_field_tag :auth_info, @contact.auth_info, readonly: true, class: 'partially-hidden' - - %br - - %dt= t(:ident) - %dd= ident_for(@contact) - - %dt= t(:email) - %dd= @contact.email - - %dt= t(:phone) - %dd= @contact.phone - - - if @contact.fax - %dt= t(:fax) - %dd= @contact.fax - - %br - - %dt= Contact.human_attribute_name :created_at - %dd - = l(@contact.created_at, format: :short) - by - = @contact.name - - %dt= Contact.human_attribute_name :updated_at - %dd - = l(@contact.updated_at, format: :short) - by - = @contact.name - - %dt= t(:registrar_name) - %dd - - if @contact.registrar.present? - = link_to(@contact.registrar, registrant_registrar_path(@contact.registrar)) diff --git a/app/views/registrant/contacts/partials/_search.haml b/app/views/registrant/contacts/partials/_search.haml deleted file mode 100644 index 4a723bf6b..000000000 --- a/app/views/registrant/contacts/partials/_search.haml +++ /dev/null @@ -1,6 +0,0 @@ -= search_form_for [:registrant, @q] do |f| - = f.search_field :name_cont - = f.submit do - %span.glyphicon.glyphicon-search - - diff --git a/app/views/registrant/contacts/partials/_statuses.haml b/app/views/registrant/contacts/partials/_statuses.haml deleted file mode 100644 index c39075754..000000000 --- a/app/views/registrant/contacts/partials/_statuses.haml +++ /dev/null @@ -1,21 +0,0 @@ -- panel_class = contact.errors.messages[:statuses] ? 'panel-danger' : 'panel-default' -#contact_statuses.panel{class: panel_class} - .panel-heading.clearfix - = t(:statuses) - .table-responsive - %table.table.table-hover.table-bordered.table-condensed - %thead - %tr - %th{class: 'col-xs-6'}= t(:status) - %th{class: 'col-xs-6'}= t(:notes) - %tbody - - contact.statuses.each do |status| - %tr - %td= status - %td= contact.status_notes[status] - - - if contact.errors.messages[:statuses] - %tfoot - - @domain.errors.messages[:statuses].each do |s| - %tr - %td{colspan: 4}= s diff --git a/app/views/registrant/contacts/show.haml b/app/views/registrant/contacts/show.haml deleted file mode 100644 index 521a8d549..000000000 --- a/app/views/registrant/contacts/show.haml +++ /dev/null @@ -1,11 +0,0 @@ -= render 'shared/title', name: @contact.name - -.row - .col-md-6= render 'registrant/contacts/partials/general' - .col-md-6= render 'registrant/contacts/partials/address' -.row - .col-md-12= render 'registrant/contacts/partials/statuses', contact: @contact -.row - .col-md-12= render 'registrant/contacts/partials/domains', contact: @contact - - diff --git a/app/views/registrant/contacts/show.html.erb b/app/views/registrant/contacts/show.html.erb new file mode 100644 index 000000000..6d08feccc --- /dev/null +++ b/app/views/registrant/contacts/show.html.erb @@ -0,0 +1,25 @@ + + +
+
+ <%= render 'registrant/contacts/show/general' %> +
+ +
+ <%= render 'registrant/contacts/show/address' %> +
+
+ +
+
+ <%= render 'registrant/contacts/show/statuses', contact: @contact %> +
+
+ +
+
+ <%= render 'registrant/contacts/show/domains', contact: @contact %> +
+
\ No newline at end of file diff --git a/app/views/registrant/contacts/show/_address.html.erb b/app/views/registrant/contacts/show/_address.html.erb new file mode 100644 index 000000000..c9bc80150 --- /dev/null +++ b/app/views/registrant/contacts/show/_address.html.erb @@ -0,0 +1,31 @@ +
+
+

+ <%= t '.header' %> +

+
+ +
+
+ <% if @contact.org_name.present? %> +
<%= Contact.human_attribute_name :org_name %>
+
<%= @contact.org_name %>
+ <% end %> + +
<%= Contact.human_attribute_name :street %>
+
<%= @contact.street %>
+ +
<%= Contact.human_attribute_name :city %>
+
<%= @contact.city %>
+ +
<%= Contact.human_attribute_name :zip %>
+
<%= @contact.zip %>
+ +
<%= Contact.human_attribute_name :state %>
+
<%= @contact.state %>
+ +
<%= Contact.human_attribute_name :country %>
+
<%= @contact.country %>
+
+
+
\ No newline at end of file diff --git a/app/views/registrant/contacts/show/_domain.html.erb b/app/views/registrant/contacts/show/_domain.html.erb new file mode 100644 index 000000000..83b7f49d5 --- /dev/null +++ b/app/views/registrant/contacts/show/_domain.html.erb @@ -0,0 +1,6 @@ + + <%= link_to domain.name, registrant_domain_path(domain) %> + <%= link_to domain.registrar, registrant_registrar_path(domain.registrar) %> + <%= l domain.valid_to %> + <%= domain.roles.join(", ") %> + \ No newline at end of file diff --git a/app/views/registrant/contacts/show/_domains.html.erb b/app/views/registrant/contacts/show/_domains.html.erb new file mode 100644 index 000000000..1bd282987 --- /dev/null +++ b/app/views/registrant/contacts/show/_domains.html.erb @@ -0,0 +1,54 @@ +<% domains = contact.all_domains(page: params[:domain_page], per: 20, params: + params.merge(leave_domains: domain_ids)) %> + +
+
+
+
+ <%= t '.header' %> +
+ +
+ <%= form_tag request.path, method: :get, class: 'form-inline' do %> + <%= select_tag :domain_filter, + options_for_select(%w(Registrant AdminDomainContact TechDomainContact), + selected: params[:domain_filter]), + include_blank: t('.all'), + class: 'form-control' %> + + <% end %> +
+
+
+ +
+ + + + + + + + + + + + <%= render partial: 'registrant/contacts/show/domain', collection: domains %> + +
+ <%= custom_sort_link Domain.human_attribute_name(:name), :name %> + + <%= custom_sort_link Registrar.model_name.human, :registrar_name %> + + <%= custom_sort_link Domain.human_attribute_name(:valid_to), :valid_to %> + + <%= custom_sort_link Domain.human_attribute_name(:roles), :roles %> +
+
+ + +
\ No newline at end of file diff --git a/app/views/registrant/contacts/show/_general.html.erb b/app/views/registrant/contacts/show/_general.html.erb new file mode 100644 index 000000000..b61d2f50e --- /dev/null +++ b/app/views/registrant/contacts/show/_general.html.erb @@ -0,0 +1,48 @@ +
+
+

+ <%= t '.header' %> +

+
+ +
+
+
<%= Contact.human_attribute_name :code %>
+
<%= @contact.code %>
+ +
<%= Contact.human_attribute_name :name %>
+
<%= @contact.name %>
+ +
<%= Contact.human_attribute_name :auth_info %>
+
+ <%= tag :input, type: 'text', value: @contact.auth_info, readonly: true, + class: 'form-control input-sm' %> +
+ +
<%= Contact.human_attribute_name :ident %>
+
<%= ident_for(@contact) %>
+ +
<%= Contact.human_attribute_name :email %>
+
<%= @contact.email %>
+ +
<%= Contact.human_attribute_name :phone %>
+
<%= @contact.phone %>
+ + <% if @contact.fax %> +
<%= Contact.human_attribute_name :fax %>
+
<%= @contact.fax %>
+ <% end %> + +
<%= Contact.human_attribute_name :created_at %>
+
<%= l @contact.created_at %>
+ +
<%= Contact.human_attribute_name :updated_at %>
+
<%= l @contact.updated_at %>
+ +
<%= Registrar.model_name.human %>
+
+ <%= link_to @contact.registrar, registrant_registrar_path(@contact.registrar) %> +
+
+
+
\ No newline at end of file diff --git a/app/views/registrant/contacts/show/_search.html.erb b/app/views/registrant/contacts/show/_search.html.erb new file mode 100644 index 000000000..f44fa322f --- /dev/null +++ b/app/views/registrant/contacts/show/_search.html.erb @@ -0,0 +1,6 @@ +<%= search_form_for [:registrant, @q] do |f| %> + <%= f.search_field :name_cont %> + <%= f.submit do %> + + <% end %> +<% end %> \ No newline at end of file diff --git a/app/views/registrant/contacts/show/_statuses.html.erb b/app/views/registrant/contacts/show/_statuses.html.erb new file mode 100644 index 000000000..07db6bc87 --- /dev/null +++ b/app/views/registrant/contacts/show/_statuses.html.erb @@ -0,0 +1,25 @@ +
+
+ <%= t '.header' %> +
+ +
+ + + + + + + + + + <% contact.statuses.each do |status| %> + + + + + <% end %> + +
<%= t '.status' %><%= t '.notes' %>
<%= status %><%= contact.status_notes[status] %>
+
+
\ No newline at end of file diff --git a/app/views/registrar/contacts/partials/_general.haml b/app/views/registrar/contacts/partials/_general.haml index 462bf35a0..5fc8ec027 100644 --- a/app/views/registrar/contacts/partials/_general.haml +++ b/app/views/registrar/contacts/partials/_general.haml @@ -6,9 +6,10 @@ %dt= t(:id) %dd= @contact.id - %dt= t(:authinfo_pw) + %dt= Contact.human_attribute_name :auth_info %dd - = text_field_tag :password, @contact.password, readonly: true, class: 'partially-hidden' + = tag :input, type: 'text', value: @contact.password, readonly: true, + class: 'form-control input-sm' %br diff --git a/bin/rails b/bin/rails index 284b01d72..5191e6927 100755 --- a/bin/rails +++ b/bin/rails @@ -1,9 +1,4 @@ #!/usr/bin/env ruby -begin - load File.expand_path('../spring', __FILE__) -rescue LoadError - 'no spring' -end -APP_PATH = File.expand_path('../../config/application', __FILE__) +APP_PATH = File.expand_path('../../config/application', __FILE__) require_relative '../config/boot' require 'rails/commands' diff --git a/bin/rake b/bin/rake index 7b36ecbff..17240489f 100755 --- a/bin/rake +++ b/bin/rake @@ -1,9 +1,4 @@ #!/usr/bin/env ruby -begin - load File.expand_path('../spring', __FILE__) -rescue LoadError - 'no spring' -end require_relative '../config/boot' require 'rake' Rake.application.run diff --git a/bin/rspec b/bin/rspec index 534d2bb5f..8bc84617e 100755 --- a/bin/rspec +++ b/bin/rspec @@ -1,8 +1,4 @@ #!/usr/bin/env ruby -begin - load File.expand_path("../spring", __FILE__) -rescue LoadError -end # # This file was generated by Bundler. # diff --git a/bin/setup b/bin/setup new file mode 100644 index 000000000..acdb2c138 --- /dev/null +++ b/bin/setup @@ -0,0 +1,29 @@ +#!/usr/bin/env ruby +require 'pathname' + +# path to your application root. +APP_ROOT = Pathname.new File.expand_path('../../', __FILE__) + +Dir.chdir APP_ROOT do + # This script is a starting point to setup your application. + # Add necessary setup steps to this file: + + puts "== Installing dependencies ==" + system "gem install bundler --conservative" + system "bundle check || bundle install" + + # puts "\n== Copying sample files ==" + # unless File.exist?("config/database.yml") + # system "cp config/database.yml.sample config/database.yml" + # end + + puts "\n== Preparing database ==" + system "bin/rake db:setup" + + puts "\n== Removing old logs and tempfiles ==" + system "rm -f log/*" + system "rm -rf tmp/cache" + + puts "\n== Restarting application server ==" + system "touch tmp/restart.txt" +end diff --git a/bin/spring b/bin/spring deleted file mode 100755 index 7b45d374f..000000000 --- a/bin/spring +++ /dev/null @@ -1,15 +0,0 @@ -#!/usr/bin/env ruby - -# This file loads spring without using Bundler, in order to be fast. -# It gets overwritten when you run the `spring binstub` command. - -unless defined?(Spring) - require "rubygems" - require "bundler" - - if match = Bundler.default_lockfile.read.match(/^GEM$.*?^ (?: )*spring \((.*?)\)$.*?^$/m) - Gem.paths = { "GEM_PATH" => [Bundler.bundle_path.to_s, *Gem.path].uniq } - gem "spring", match[1] - require "spring/binstub" - end -end diff --git a/config/environments/test.rb b/config/environments/test.rb index 3b82ee748..544370369 100644 --- a/config/environments/test.rb +++ b/config/environments/test.rb @@ -2,7 +2,7 @@ Rails.application.configure do # Settings specified here will take precedence over those in config/application.rb. config.cache_classes = true - config.eager_load = true + config.eager_load = false config.serve_static_files = true config.static_cache_control = 'public, max-age=3600' @@ -25,4 +25,4 @@ Rails.application.configure do config.cache_store = :memory_store end -Que.mode = :sync \ No newline at end of file +Que.mode = :sync diff --git a/config/locales/registrant/contacts.en.yml b/config/locales/registrant/contacts.en.yml new file mode 100644 index 000000000..ef6ea173f --- /dev/null +++ b/config/locales/registrant/contacts.en.yml @@ -0,0 +1,18 @@ +en: + registrant: + contacts: + show: + general: + header: General + + address: + header: Address + + statuses: + header: Statuses + status: Status + notes: Note + + domains: + header: Domains + all: All roles \ No newline at end of file diff --git a/config/locales/registrar/nameservers.en.yml b/config/locales/registrar/nameservers.en.yml index fbe4c387e..6cc08f0ab 100644 --- a/config/locales/registrar/nameservers.en.yml +++ b/config/locales/registrar/nameservers.en.yml @@ -3,3 +3,4 @@ en: nameservers: update: replaced: Nameserver have been successfully replaced + affected_domains: Affected domains diff --git a/config/routes.rb b/config/routes.rb index 9525826c9..614471798 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -101,6 +101,8 @@ Rails.application.routes.draw do namespace :registrant do root 'domains#index' + resources :registrars, only: :show + resources :contacts, only: :show resources :domains, only: %i[index show] do collection do get :download_list @@ -111,8 +113,8 @@ Rails.application.routes.draw do end end - resources :domain_update_confirms - resources :domain_delete_confirms + resources :domain_update_confirms, only: %i[show update] + resources :domain_delete_confirms, only: %i[show update] devise_scope :user do get 'login' => 'sessions#login' @@ -125,29 +127,8 @@ Rails.application.routes.draw do post 'id' => 'sessions#id' get 'logout' => '/devise/sessions#destroy' end - - resources :domains do - resources :registrant_verifications - collection do - post 'update', as: 'update' - post 'destroy', as: 'destroy' - get 'renew' - get 'edit' - get 'info' - get 'delete' - end - end - - resources :registrars do - collection do - get :search - end - end - - resources :contacts end - # ADMIN ROUTES namespace :admin do resources :keyrelays diff --git a/config/spring.rb b/config/spring.rb deleted file mode 100644 index 12c701147..000000000 --- a/config/spring.rb +++ /dev/null @@ -1 +0,0 @@ -Spring.watch 'config/application.yml' diff --git a/db/migrate/20180612042234_enable_pgcrypto_ext.rb b/db/migrate/20180612042234_enable_pgcrypto_ext.rb new file mode 100644 index 000000000..4e8df65bf --- /dev/null +++ b/db/migrate/20180612042234_enable_pgcrypto_ext.rb @@ -0,0 +1,5 @@ +class EnablePgcryptoExt < ActiveRecord::Migration + def change + enable_extension 'pgcrypto' + end +end diff --git a/db/migrate/20180612042625_add_uuid_to_contacts.rb b/db/migrate/20180612042625_add_uuid_to_contacts.rb new file mode 100644 index 000000000..c80d60e71 --- /dev/null +++ b/db/migrate/20180612042625_add_uuid_to_contacts.rb @@ -0,0 +1,5 @@ +class AddUuidToContacts < ActiveRecord::Migration + def change + add_column :contacts, :uuid, :uuid, default: 'gen_random_uuid()' + end +end diff --git a/db/migrate/20180612042953_add_uuid_to_domains.rb b/db/migrate/20180612042953_add_uuid_to_domains.rb new file mode 100644 index 000000000..6ca609de3 --- /dev/null +++ b/db/migrate/20180612042953_add_uuid_to_domains.rb @@ -0,0 +1,5 @@ +class AddUuidToDomains < ActiveRecord::Migration + def change + add_column :domains, :uuid, :uuid, default: 'gen_random_uuid()' + end +end diff --git a/db/migrate/20180613030330_change_contacts_and_domains_uuid_to_not_null.rb b/db/migrate/20180613030330_change_contacts_and_domains_uuid_to_not_null.rb new file mode 100644 index 000000000..9d7641082 --- /dev/null +++ b/db/migrate/20180613030330_change_contacts_and_domains_uuid_to_not_null.rb @@ -0,0 +1,6 @@ +class ChangeContactsAndDomainsUuidToNotNull < ActiveRecord::Migration + def change + change_column_null :contacts, :uuid, false + change_column_null :domains, :uuid, false + end +end diff --git a/db/migrate/20180613045614_add_contacts_and_domains_uuid_uniq_constraint.rb b/db/migrate/20180613045614_add_contacts_and_domains_uuid_uniq_constraint.rb new file mode 100644 index 000000000..32b8fb090 --- /dev/null +++ b/db/migrate/20180613045614_add_contacts_and_domains_uuid_uniq_constraint.rb @@ -0,0 +1,16 @@ +# Unique constraint is needed to prevent accidental duplicate values in fixtures to appear in DB +class AddContactsAndDomainsUuidUniqConstraint < ActiveRecord::Migration + def up + execute <<-SQL + ALTER TABLE contacts ADD CONSTRAINT uniq_contact_uuid UNIQUE (uuid); + ALTER TABLE domains ADD CONSTRAINT uniq_domain_uuid UNIQUE (uuid); + SQL + end + + def down + execute <<-SQL + ALTER TABLE contacts DROP CONSTRAINT uniq_contact_uuid; + ALTER TABLE domains DROP CONSTRAINT uniq_domain_uuid; + SQL + end +end diff --git a/db/structure.sql b/db/structure.sql index 744ea9e19..b07f08000 100644 --- a/db/structure.sql +++ b/db/structure.sql @@ -6,6 +6,7 @@ SET statement_timeout = 0; SET lock_timeout = 0; SET client_encoding = 'UTF8'; SET standard_conforming_strings = on; +SELECT pg_catalog.set_config('search_path', '', false); SET check_function_bodies = false; SET client_min_messages = warning; @@ -51,13 +52,25 @@ CREATE EXTENSION IF NOT EXISTS hstore WITH SCHEMA public; COMMENT ON EXTENSION hstore IS 'data type for storing sets of (key, value) pairs'; -SET search_path = public, pg_catalog; +-- +-- Name: pgcrypto; Type: EXTENSION; Schema: -; Owner: - +-- + +CREATE EXTENSION IF NOT EXISTS pgcrypto WITH SCHEMA public; + + +-- +-- Name: EXTENSION pgcrypto; Type: COMMENT; Schema: -; Owner: - +-- + +COMMENT ON EXTENSION pgcrypto IS 'cryptographic functions'; + -- -- Name: fill_ident_country(); Type: FUNCTION; Schema: public; Owner: - -- -CREATE FUNCTION fill_ident_country() RETURNS boolean +CREATE FUNCTION public.fill_ident_country() RETURNS boolean LANGUAGE plpgsql AS $_$ DECLARE @@ -157,7 +170,7 @@ CREATE FUNCTION fill_ident_country() RETURNS boolean -- Name: generate_zonefile(character varying); Type: FUNCTION; Schema: public; Owner: - -- -CREATE FUNCTION generate_zonefile(i_origin character varying) RETURNS text +CREATE FUNCTION public.generate_zonefile(i_origin character varying) RETURNS text LANGUAGE plpgsql AS $_$ DECLARE @@ -285,7 +298,7 @@ SET default_with_oids = false; -- Name: account_activities; Type: TABLE; Schema: public; Owner: -; Tablespace: -- -CREATE TABLE account_activities ( +CREATE TABLE public.account_activities ( id integer NOT NULL, account_id integer NOT NULL, invoice_id integer, @@ -306,7 +319,7 @@ CREATE TABLE account_activities ( -- Name: account_activities_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- -CREATE SEQUENCE account_activities_id_seq +CREATE SEQUENCE public.account_activities_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -318,14 +331,14 @@ CREATE SEQUENCE account_activities_id_seq -- Name: account_activities_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- -ALTER SEQUENCE account_activities_id_seq OWNED BY account_activities.id; +ALTER SEQUENCE public.account_activities_id_seq OWNED BY public.account_activities.id; -- -- Name: accounts; Type: TABLE; Schema: public; Owner: -; Tablespace: -- -CREATE TABLE accounts ( +CREATE TABLE public.accounts ( id integer NOT NULL, registrar_id integer NOT NULL, account_type character varying, @@ -342,7 +355,7 @@ CREATE TABLE accounts ( -- Name: accounts_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- -CREATE SEQUENCE accounts_id_seq +CREATE SEQUENCE public.accounts_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -354,14 +367,14 @@ CREATE SEQUENCE accounts_id_seq -- Name: accounts_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- -ALTER SEQUENCE accounts_id_seq OWNED BY accounts.id; +ALTER SEQUENCE public.accounts_id_seq OWNED BY public.accounts.id; -- -- Name: bank_statements; Type: TABLE; Schema: public; Owner: -; Tablespace: -- -CREATE TABLE bank_statements ( +CREATE TABLE public.bank_statements ( id integer NOT NULL, bank_code character varying, iban character varying, @@ -378,7 +391,7 @@ CREATE TABLE bank_statements ( -- Name: bank_statements_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- -CREATE SEQUENCE bank_statements_id_seq +CREATE SEQUENCE public.bank_statements_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -390,14 +403,14 @@ CREATE SEQUENCE bank_statements_id_seq -- Name: bank_statements_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- -ALTER SEQUENCE bank_statements_id_seq OWNED BY bank_statements.id; +ALTER SEQUENCE public.bank_statements_id_seq OWNED BY public.bank_statements.id; -- -- Name: bank_transactions; Type: TABLE; Schema: public; Owner: -; Tablespace: -- -CREATE TABLE bank_transactions ( +CREATE TABLE public.bank_transactions ( id integer NOT NULL, bank_statement_id integer, bank_reference character varying, @@ -423,7 +436,7 @@ CREATE TABLE bank_transactions ( -- Name: bank_transactions_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- -CREATE SEQUENCE bank_transactions_id_seq +CREATE SEQUENCE public.bank_transactions_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -435,14 +448,14 @@ CREATE SEQUENCE bank_transactions_id_seq -- Name: bank_transactions_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- -ALTER SEQUENCE bank_transactions_id_seq OWNED BY bank_transactions.id; +ALTER SEQUENCE public.bank_transactions_id_seq OWNED BY public.bank_transactions.id; -- -- Name: banklink_transactions; Type: TABLE; Schema: public; Owner: -; Tablespace: -- -CREATE TABLE banklink_transactions ( +CREATE TABLE public.banklink_transactions ( id integer NOT NULL, vk_service character varying, vk_version character varying, @@ -472,7 +485,7 @@ CREATE TABLE banklink_transactions ( -- Name: banklink_transactions_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- -CREATE SEQUENCE banklink_transactions_id_seq +CREATE SEQUENCE public.banklink_transactions_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -484,14 +497,14 @@ CREATE SEQUENCE banklink_transactions_id_seq -- Name: banklink_transactions_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- -ALTER SEQUENCE banklink_transactions_id_seq OWNED BY banklink_transactions.id; +ALTER SEQUENCE public.banklink_transactions_id_seq OWNED BY public.banklink_transactions.id; -- -- Name: blocked_domains; Type: TABLE; Schema: public; Owner: -; Tablespace: -- -CREATE TABLE blocked_domains ( +CREATE TABLE public.blocked_domains ( id integer NOT NULL, created_at timestamp without time zone, updated_at timestamp without time zone, @@ -505,7 +518,7 @@ CREATE TABLE blocked_domains ( -- Name: blocked_domains_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- -CREATE SEQUENCE blocked_domains_id_seq +CREATE SEQUENCE public.blocked_domains_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -517,14 +530,14 @@ CREATE SEQUENCE blocked_domains_id_seq -- Name: blocked_domains_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- -ALTER SEQUENCE blocked_domains_id_seq OWNED BY blocked_domains.id; +ALTER SEQUENCE public.blocked_domains_id_seq OWNED BY public.blocked_domains.id; -- -- Name: business_registry_caches; Type: TABLE; Schema: public; Owner: -; Tablespace: -- -CREATE TABLE business_registry_caches ( +CREATE TABLE public.business_registry_caches ( id integer NOT NULL, ident character varying, ident_country_code character varying, @@ -539,7 +552,7 @@ CREATE TABLE business_registry_caches ( -- Name: business_registry_caches_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- -CREATE SEQUENCE business_registry_caches_id_seq +CREATE SEQUENCE public.business_registry_caches_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -551,14 +564,14 @@ CREATE SEQUENCE business_registry_caches_id_seq -- Name: business_registry_caches_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- -ALTER SEQUENCE business_registry_caches_id_seq OWNED BY business_registry_caches.id; +ALTER SEQUENCE public.business_registry_caches_id_seq OWNED BY public.business_registry_caches.id; -- -- Name: certificates; Type: TABLE; Schema: public; Owner: -; Tablespace: -- -CREATE TABLE certificates ( +CREATE TABLE public.certificates ( id integer NOT NULL, api_user_id integer, csr text, @@ -577,7 +590,7 @@ CREATE TABLE certificates ( -- Name: certificates_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- -CREATE SEQUENCE certificates_id_seq +CREATE SEQUENCE public.certificates_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -589,14 +602,14 @@ CREATE SEQUENCE certificates_id_seq -- Name: certificates_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- -ALTER SEQUENCE certificates_id_seq OWNED BY certificates.id; +ALTER SEQUENCE public.certificates_id_seq OWNED BY public.certificates.id; -- -- Name: contacts; Type: TABLE; Schema: public; Owner: -; Tablespace: -- -CREATE TABLE contacts ( +CREATE TABLE public.contacts ( id integer NOT NULL, code character varying NOT NULL, phone character varying, @@ -620,12 +633,13 @@ CREATE TABLE contacts ( state character varying, legacy_id integer, statuses character varying[] DEFAULT '{}'::character varying[], - status_notes hstore, + status_notes public.hstore, legacy_history_id integer, original_id integer, ident_updated_at timestamp without time zone, upid integer, - up_date timestamp without time zone + up_date timestamp without time zone, + uuid uuid DEFAULT public.gen_random_uuid() NOT NULL ); @@ -633,7 +647,7 @@ CREATE TABLE contacts ( -- Name: contacts_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- -CREATE SEQUENCE contacts_id_seq +CREATE SEQUENCE public.contacts_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -645,14 +659,14 @@ CREATE SEQUENCE contacts_id_seq -- Name: contacts_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- -ALTER SEQUENCE contacts_id_seq OWNED BY contacts.id; +ALTER SEQUENCE public.contacts_id_seq OWNED BY public.contacts.id; -- -- Name: delegation_signers; Type: TABLE; Schema: public; Owner: -; Tablespace: -- -CREATE TABLE delegation_signers ( +CREATE TABLE public.delegation_signers ( id integer NOT NULL, domain_id integer, key_tag character varying, @@ -666,7 +680,7 @@ CREATE TABLE delegation_signers ( -- Name: delegation_signers_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- -CREATE SEQUENCE delegation_signers_id_seq +CREATE SEQUENCE public.delegation_signers_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -678,14 +692,14 @@ CREATE SEQUENCE delegation_signers_id_seq -- Name: delegation_signers_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- -ALTER SEQUENCE delegation_signers_id_seq OWNED BY delegation_signers.id; +ALTER SEQUENCE public.delegation_signers_id_seq OWNED BY public.delegation_signers.id; -- -- Name: depricated_versions; Type: TABLE; Schema: public; Owner: -; Tablespace: -- -CREATE TABLE depricated_versions ( +CREATE TABLE public.depricated_versions ( id integer NOT NULL, created_at timestamp without time zone ); @@ -695,7 +709,7 @@ CREATE TABLE depricated_versions ( -- Name: depricated_versions_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- -CREATE SEQUENCE depricated_versions_id_seq +CREATE SEQUENCE public.depricated_versions_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -707,14 +721,14 @@ CREATE SEQUENCE depricated_versions_id_seq -- Name: depricated_versions_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- -ALTER SEQUENCE depricated_versions_id_seq OWNED BY depricated_versions.id; +ALTER SEQUENCE public.depricated_versions_id_seq OWNED BY public.depricated_versions.id; -- -- Name: directos; Type: TABLE; Schema: public; Owner: -; Tablespace: -- -CREATE TABLE directos ( +CREATE TABLE public.directos ( id integer NOT NULL, item_id integer, item_type character varying, @@ -730,7 +744,7 @@ CREATE TABLE directos ( -- Name: directos_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- -CREATE SEQUENCE directos_id_seq +CREATE SEQUENCE public.directos_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -742,14 +756,14 @@ CREATE SEQUENCE directos_id_seq -- Name: directos_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- -ALTER SEQUENCE directos_id_seq OWNED BY directos.id; +ALTER SEQUENCE public.directos_id_seq OWNED BY public.directos.id; -- -- Name: dnskeys; Type: TABLE; Schema: public; Owner: -; Tablespace: -- -CREATE TABLE dnskeys ( +CREATE TABLE public.dnskeys ( id integer NOT NULL, domain_id integer, flags integer, @@ -772,7 +786,7 @@ CREATE TABLE dnskeys ( -- Name: dnskeys_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- -CREATE SEQUENCE dnskeys_id_seq +CREATE SEQUENCE public.dnskeys_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -784,14 +798,14 @@ CREATE SEQUENCE dnskeys_id_seq -- Name: dnskeys_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- -ALTER SEQUENCE dnskeys_id_seq OWNED BY dnskeys.id; +ALTER SEQUENCE public.dnskeys_id_seq OWNED BY public.dnskeys.id; -- -- Name: domain_contacts; Type: TABLE; Schema: public; Owner: -; Tablespace: -- -CREATE TABLE domain_contacts ( +CREATE TABLE public.domain_contacts ( id integer NOT NULL, contact_id integer, domain_id integer, @@ -810,7 +824,7 @@ CREATE TABLE domain_contacts ( -- Name: domain_contacts_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- -CREATE SEQUENCE domain_contacts_id_seq +CREATE SEQUENCE public.domain_contacts_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -822,14 +836,14 @@ CREATE SEQUENCE domain_contacts_id_seq -- Name: domain_contacts_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- -ALTER SEQUENCE domain_contacts_id_seq OWNED BY domain_contacts.id; +ALTER SEQUENCE public.domain_contacts_id_seq OWNED BY public.domain_contacts.id; -- -- Name: domain_transfers; Type: TABLE; Schema: public; Owner: -; Tablespace: -- -CREATE TABLE domain_transfers ( +CREATE TABLE public.domain_transfers ( id integer NOT NULL, domain_id integer NOT NULL, status character varying, @@ -847,7 +861,7 @@ CREATE TABLE domain_transfers ( -- Name: domain_transfers_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- -CREATE SEQUENCE domain_transfers_id_seq +CREATE SEQUENCE public.domain_transfers_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -859,14 +873,14 @@ CREATE SEQUENCE domain_transfers_id_seq -- Name: domain_transfers_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- -ALTER SEQUENCE domain_transfers_id_seq OWNED BY domain_transfers.id; +ALTER SEQUENCE public.domain_transfers_id_seq OWNED BY public.domain_transfers.id; -- -- Name: domains; Type: TABLE; Schema: public; Owner: -; Tablespace: -- -CREATE TABLE domains ( +CREATE TABLE public.domains ( id integer NOT NULL, name character varying, registrar_id integer NOT NULL, @@ -894,10 +908,11 @@ CREATE TABLE domains ( force_delete_at timestamp without time zone, statuses character varying[], reserved boolean DEFAULT false, - status_notes hstore, + status_notes public.hstore, statuses_backup character varying[] DEFAULT '{}'::character varying[], upid integer, - up_date timestamp without time zone + up_date timestamp without time zone, + uuid uuid DEFAULT public.gen_random_uuid() NOT NULL ); @@ -905,7 +920,7 @@ CREATE TABLE domains ( -- Name: domains_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- -CREATE SEQUENCE domains_id_seq +CREATE SEQUENCE public.domains_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -917,14 +932,14 @@ CREATE SEQUENCE domains_id_seq -- Name: domains_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- -ALTER SEQUENCE domains_id_seq OWNED BY domains.id; +ALTER SEQUENCE public.domains_id_seq OWNED BY public.domains.id; -- -- Name: epp_sessions; Type: TABLE; Schema: public; Owner: -; Tablespace: -- -CREATE TABLE epp_sessions ( +CREATE TABLE public.epp_sessions ( id integer NOT NULL, session_id character varying NOT NULL, created_at timestamp without time zone, @@ -937,7 +952,7 @@ CREATE TABLE epp_sessions ( -- Name: epp_sessions_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- -CREATE SEQUENCE epp_sessions_id_seq +CREATE SEQUENCE public.epp_sessions_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -949,14 +964,14 @@ CREATE SEQUENCE epp_sessions_id_seq -- Name: epp_sessions_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- -ALTER SEQUENCE epp_sessions_id_seq OWNED BY epp_sessions.id; +ALTER SEQUENCE public.epp_sessions_id_seq OWNED BY public.epp_sessions.id; -- -- Name: invoice_items; Type: TABLE; Schema: public; Owner: -; Tablespace: -- -CREATE TABLE invoice_items ( +CREATE TABLE public.invoice_items ( id integer NOT NULL, invoice_id integer, description character varying NOT NULL, @@ -974,7 +989,7 @@ CREATE TABLE invoice_items ( -- Name: invoice_items_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- -CREATE SEQUENCE invoice_items_id_seq +CREATE SEQUENCE public.invoice_items_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -986,14 +1001,14 @@ CREATE SEQUENCE invoice_items_id_seq -- Name: invoice_items_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- -ALTER SEQUENCE invoice_items_id_seq OWNED BY invoice_items.id; +ALTER SEQUENCE public.invoice_items_id_seq OWNED BY public.invoice_items.id; -- -- Name: invoices; Type: TABLE; Schema: public; Owner: -; Tablespace: -- -CREATE TABLE invoices ( +CREATE TABLE public.invoices ( id integer NOT NULL, created_at timestamp without time zone NOT NULL, updated_at timestamp without time zone NOT NULL, @@ -1045,7 +1060,7 @@ CREATE TABLE invoices ( -- Name: invoices_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- -CREATE SEQUENCE invoices_id_seq +CREATE SEQUENCE public.invoices_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -1057,14 +1072,14 @@ CREATE SEQUENCE invoices_id_seq -- Name: invoices_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- -ALTER SEQUENCE invoices_id_seq OWNED BY invoices.id; +ALTER SEQUENCE public.invoices_id_seq OWNED BY public.invoices.id; -- -- Name: keyrelays; Type: TABLE; Schema: public; Owner: -; Tablespace: -- -CREATE TABLE keyrelays ( +CREATE TABLE public.keyrelays ( id integer NOT NULL, domain_id integer, pa_date timestamp without time zone, @@ -1088,7 +1103,7 @@ CREATE TABLE keyrelays ( -- Name: keyrelays_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- -CREATE SEQUENCE keyrelays_id_seq +CREATE SEQUENCE public.keyrelays_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -1100,14 +1115,14 @@ CREATE SEQUENCE keyrelays_id_seq -- Name: keyrelays_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- -ALTER SEQUENCE keyrelays_id_seq OWNED BY keyrelays.id; +ALTER SEQUENCE public.keyrelays_id_seq OWNED BY public.keyrelays.id; -- -- Name: legal_documents; Type: TABLE; Schema: public; Owner: -; Tablespace: -- -CREATE TABLE legal_documents ( +CREATE TABLE public.legal_documents ( id integer NOT NULL, document_type character varying, documentable_id integer, @@ -1123,7 +1138,7 @@ CREATE TABLE legal_documents ( -- Name: legal_documents_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- -CREATE SEQUENCE legal_documents_id_seq +CREATE SEQUENCE public.legal_documents_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -1135,14 +1150,14 @@ CREATE SEQUENCE legal_documents_id_seq -- Name: legal_documents_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- -ALTER SEQUENCE legal_documents_id_seq OWNED BY legal_documents.id; +ALTER SEQUENCE public.legal_documents_id_seq OWNED BY public.legal_documents.id; -- -- Name: log_account_activities; Type: TABLE; Schema: public; Owner: -; Tablespace: -- -CREATE TABLE log_account_activities ( +CREATE TABLE public.log_account_activities ( id integer NOT NULL, item_type character varying NOT NULL, item_id integer NOT NULL, @@ -1161,7 +1176,7 @@ CREATE TABLE log_account_activities ( -- Name: log_account_activities_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- -CREATE SEQUENCE log_account_activities_id_seq +CREATE SEQUENCE public.log_account_activities_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -1173,14 +1188,14 @@ CREATE SEQUENCE log_account_activities_id_seq -- Name: log_account_activities_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- -ALTER SEQUENCE log_account_activities_id_seq OWNED BY log_account_activities.id; +ALTER SEQUENCE public.log_account_activities_id_seq OWNED BY public.log_account_activities.id; -- -- Name: log_accounts; Type: TABLE; Schema: public; Owner: -; Tablespace: -- -CREATE TABLE log_accounts ( +CREATE TABLE public.log_accounts ( id integer NOT NULL, item_type character varying NOT NULL, item_id integer NOT NULL, @@ -1199,7 +1214,7 @@ CREATE TABLE log_accounts ( -- Name: log_accounts_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- -CREATE SEQUENCE log_accounts_id_seq +CREATE SEQUENCE public.log_accounts_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -1211,14 +1226,14 @@ CREATE SEQUENCE log_accounts_id_seq -- Name: log_accounts_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- -ALTER SEQUENCE log_accounts_id_seq OWNED BY log_accounts.id; +ALTER SEQUENCE public.log_accounts_id_seq OWNED BY public.log_accounts.id; -- -- Name: log_bank_statements; Type: TABLE; Schema: public; Owner: -; Tablespace: -- -CREATE TABLE log_bank_statements ( +CREATE TABLE public.log_bank_statements ( id integer NOT NULL, item_type character varying NOT NULL, item_id integer NOT NULL, @@ -1237,7 +1252,7 @@ CREATE TABLE log_bank_statements ( -- Name: log_bank_statements_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- -CREATE SEQUENCE log_bank_statements_id_seq +CREATE SEQUENCE public.log_bank_statements_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -1249,14 +1264,14 @@ CREATE SEQUENCE log_bank_statements_id_seq -- Name: log_bank_statements_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- -ALTER SEQUENCE log_bank_statements_id_seq OWNED BY log_bank_statements.id; +ALTER SEQUENCE public.log_bank_statements_id_seq OWNED BY public.log_bank_statements.id; -- -- Name: log_bank_transactions; Type: TABLE; Schema: public; Owner: -; Tablespace: -- -CREATE TABLE log_bank_transactions ( +CREATE TABLE public.log_bank_transactions ( id integer NOT NULL, item_type character varying NOT NULL, item_id integer NOT NULL, @@ -1275,7 +1290,7 @@ CREATE TABLE log_bank_transactions ( -- Name: log_bank_transactions_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- -CREATE SEQUENCE log_bank_transactions_id_seq +CREATE SEQUENCE public.log_bank_transactions_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -1287,14 +1302,14 @@ CREATE SEQUENCE log_bank_transactions_id_seq -- Name: log_bank_transactions_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- -ALTER SEQUENCE log_bank_transactions_id_seq OWNED BY log_bank_transactions.id; +ALTER SEQUENCE public.log_bank_transactions_id_seq OWNED BY public.log_bank_transactions.id; -- -- Name: log_blocked_domains; Type: TABLE; Schema: public; Owner: -; Tablespace: -- -CREATE TABLE log_blocked_domains ( +CREATE TABLE public.log_blocked_domains ( id integer NOT NULL, item_type character varying NOT NULL, item_id integer NOT NULL, @@ -1313,7 +1328,7 @@ CREATE TABLE log_blocked_domains ( -- Name: log_blocked_domains_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- -CREATE SEQUENCE log_blocked_domains_id_seq +CREATE SEQUENCE public.log_blocked_domains_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -1325,14 +1340,14 @@ CREATE SEQUENCE log_blocked_domains_id_seq -- Name: log_blocked_domains_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- -ALTER SEQUENCE log_blocked_domains_id_seq OWNED BY log_blocked_domains.id; +ALTER SEQUENCE public.log_blocked_domains_id_seq OWNED BY public.log_blocked_domains.id; -- -- Name: log_certificates; Type: TABLE; Schema: public; Owner: -; Tablespace: -- -CREATE TABLE log_certificates ( +CREATE TABLE public.log_certificates ( id integer NOT NULL, item_type character varying NOT NULL, item_id integer NOT NULL, @@ -1351,7 +1366,7 @@ CREATE TABLE log_certificates ( -- Name: log_certificates_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- -CREATE SEQUENCE log_certificates_id_seq +CREATE SEQUENCE public.log_certificates_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -1363,14 +1378,14 @@ CREATE SEQUENCE log_certificates_id_seq -- Name: log_certificates_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- -ALTER SEQUENCE log_certificates_id_seq OWNED BY log_certificates.id; +ALTER SEQUENCE public.log_certificates_id_seq OWNED BY public.log_certificates.id; -- -- Name: log_contacts; Type: TABLE; Schema: public; Owner: -; Tablespace: -- -CREATE TABLE log_contacts ( +CREATE TABLE public.log_contacts ( id integer NOT NULL, item_type character varying NOT NULL, item_id integer NOT NULL, @@ -1390,7 +1405,7 @@ CREATE TABLE log_contacts ( -- Name: log_contacts_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- -CREATE SEQUENCE log_contacts_id_seq +CREATE SEQUENCE public.log_contacts_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -1402,14 +1417,14 @@ CREATE SEQUENCE log_contacts_id_seq -- Name: log_contacts_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- -ALTER SEQUENCE log_contacts_id_seq OWNED BY log_contacts.id; +ALTER SEQUENCE public.log_contacts_id_seq OWNED BY public.log_contacts.id; -- -- Name: log_dnskeys; Type: TABLE; Schema: public; Owner: -; Tablespace: -- -CREATE TABLE log_dnskeys ( +CREATE TABLE public.log_dnskeys ( id integer NOT NULL, item_type character varying NOT NULL, item_id integer NOT NULL, @@ -1428,7 +1443,7 @@ CREATE TABLE log_dnskeys ( -- Name: log_dnskeys_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- -CREATE SEQUENCE log_dnskeys_id_seq +CREATE SEQUENCE public.log_dnskeys_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -1440,14 +1455,14 @@ CREATE SEQUENCE log_dnskeys_id_seq -- Name: log_dnskeys_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- -ALTER SEQUENCE log_dnskeys_id_seq OWNED BY log_dnskeys.id; +ALTER SEQUENCE public.log_dnskeys_id_seq OWNED BY public.log_dnskeys.id; -- -- Name: log_domain_contacts; Type: TABLE; Schema: public; Owner: -; Tablespace: -- -CREATE TABLE log_domain_contacts ( +CREATE TABLE public.log_domain_contacts ( id integer NOT NULL, item_type character varying NOT NULL, item_id integer NOT NULL, @@ -1466,7 +1481,7 @@ CREATE TABLE log_domain_contacts ( -- Name: log_domain_contacts_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- -CREATE SEQUENCE log_domain_contacts_id_seq +CREATE SEQUENCE public.log_domain_contacts_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -1478,14 +1493,14 @@ CREATE SEQUENCE log_domain_contacts_id_seq -- Name: log_domain_contacts_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- -ALTER SEQUENCE log_domain_contacts_id_seq OWNED BY log_domain_contacts.id; +ALTER SEQUENCE public.log_domain_contacts_id_seq OWNED BY public.log_domain_contacts.id; -- -- Name: log_domains; Type: TABLE; Schema: public; Owner: -; Tablespace: -- -CREATE TABLE log_domains ( +CREATE TABLE public.log_domains ( id integer NOT NULL, item_type character varying NOT NULL, item_id integer NOT NULL, @@ -1507,7 +1522,7 @@ CREATE TABLE log_domains ( -- Name: log_domains_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- -CREATE SEQUENCE log_domains_id_seq +CREATE SEQUENCE public.log_domains_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -1519,14 +1534,14 @@ CREATE SEQUENCE log_domains_id_seq -- Name: log_domains_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- -ALTER SEQUENCE log_domains_id_seq OWNED BY log_domains.id; +ALTER SEQUENCE public.log_domains_id_seq OWNED BY public.log_domains.id; -- -- Name: log_invoice_items; Type: TABLE; Schema: public; Owner: -; Tablespace: -- -CREATE TABLE log_invoice_items ( +CREATE TABLE public.log_invoice_items ( id integer NOT NULL, item_type character varying NOT NULL, item_id integer NOT NULL, @@ -1545,7 +1560,7 @@ CREATE TABLE log_invoice_items ( -- Name: log_invoice_items_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- -CREATE SEQUENCE log_invoice_items_id_seq +CREATE SEQUENCE public.log_invoice_items_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -1557,14 +1572,14 @@ CREATE SEQUENCE log_invoice_items_id_seq -- Name: log_invoice_items_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- -ALTER SEQUENCE log_invoice_items_id_seq OWNED BY log_invoice_items.id; +ALTER SEQUENCE public.log_invoice_items_id_seq OWNED BY public.log_invoice_items.id; -- -- Name: log_invoices; Type: TABLE; Schema: public; Owner: -; Tablespace: -- -CREATE TABLE log_invoices ( +CREATE TABLE public.log_invoices ( id integer NOT NULL, item_type character varying NOT NULL, item_id integer NOT NULL, @@ -1583,7 +1598,7 @@ CREATE TABLE log_invoices ( -- Name: log_invoices_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- -CREATE SEQUENCE log_invoices_id_seq +CREATE SEQUENCE public.log_invoices_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -1595,14 +1610,14 @@ CREATE SEQUENCE log_invoices_id_seq -- Name: log_invoices_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- -ALTER SEQUENCE log_invoices_id_seq OWNED BY log_invoices.id; +ALTER SEQUENCE public.log_invoices_id_seq OWNED BY public.log_invoices.id; -- -- Name: log_keyrelays; Type: TABLE; Schema: public; Owner: -; Tablespace: -- -CREATE TABLE log_keyrelays ( +CREATE TABLE public.log_keyrelays ( id integer NOT NULL, item_type character varying NOT NULL, item_id integer NOT NULL, @@ -1621,7 +1636,7 @@ CREATE TABLE log_keyrelays ( -- Name: log_keyrelays_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- -CREATE SEQUENCE log_keyrelays_id_seq +CREATE SEQUENCE public.log_keyrelays_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -1633,14 +1648,14 @@ CREATE SEQUENCE log_keyrelays_id_seq -- Name: log_keyrelays_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- -ALTER SEQUENCE log_keyrelays_id_seq OWNED BY log_keyrelays.id; +ALTER SEQUENCE public.log_keyrelays_id_seq OWNED BY public.log_keyrelays.id; -- -- Name: log_messages; Type: TABLE; Schema: public; Owner: -; Tablespace: -- -CREATE TABLE log_messages ( +CREATE TABLE public.log_messages ( id integer NOT NULL, item_type character varying NOT NULL, item_id integer NOT NULL, @@ -1659,7 +1674,7 @@ CREATE TABLE log_messages ( -- Name: log_messages_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- -CREATE SEQUENCE log_messages_id_seq +CREATE SEQUENCE public.log_messages_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -1671,14 +1686,14 @@ CREATE SEQUENCE log_messages_id_seq -- Name: log_messages_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- -ALTER SEQUENCE log_messages_id_seq OWNED BY log_messages.id; +ALTER SEQUENCE public.log_messages_id_seq OWNED BY public.log_messages.id; -- -- Name: log_nameservers; Type: TABLE; Schema: public; Owner: -; Tablespace: -- -CREATE TABLE log_nameservers ( +CREATE TABLE public.log_nameservers ( id integer NOT NULL, item_type character varying NOT NULL, item_id integer NOT NULL, @@ -1697,7 +1712,7 @@ CREATE TABLE log_nameservers ( -- Name: log_nameservers_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- -CREATE SEQUENCE log_nameservers_id_seq +CREATE SEQUENCE public.log_nameservers_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -1709,14 +1724,14 @@ CREATE SEQUENCE log_nameservers_id_seq -- Name: log_nameservers_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- -ALTER SEQUENCE log_nameservers_id_seq OWNED BY log_nameservers.id; +ALTER SEQUENCE public.log_nameservers_id_seq OWNED BY public.log_nameservers.id; -- -- Name: log_registrars; Type: TABLE; Schema: public; Owner: -; Tablespace: -- -CREATE TABLE log_registrars ( +CREATE TABLE public.log_registrars ( id integer NOT NULL, item_type character varying NOT NULL, item_id integer NOT NULL, @@ -1735,7 +1750,7 @@ CREATE TABLE log_registrars ( -- Name: log_registrars_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- -CREATE SEQUENCE log_registrars_id_seq +CREATE SEQUENCE public.log_registrars_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -1747,14 +1762,14 @@ CREATE SEQUENCE log_registrars_id_seq -- Name: log_registrars_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- -ALTER SEQUENCE log_registrars_id_seq OWNED BY log_registrars.id; +ALTER SEQUENCE public.log_registrars_id_seq OWNED BY public.log_registrars.id; -- -- Name: log_reserved_domains; Type: TABLE; Schema: public; Owner: -; Tablespace: -- -CREATE TABLE log_reserved_domains ( +CREATE TABLE public.log_reserved_domains ( id integer NOT NULL, item_type character varying NOT NULL, item_id integer NOT NULL, @@ -1773,7 +1788,7 @@ CREATE TABLE log_reserved_domains ( -- Name: log_reserved_domains_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- -CREATE SEQUENCE log_reserved_domains_id_seq +CREATE SEQUENCE public.log_reserved_domains_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -1785,14 +1800,14 @@ CREATE SEQUENCE log_reserved_domains_id_seq -- Name: log_reserved_domains_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- -ALTER SEQUENCE log_reserved_domains_id_seq OWNED BY log_reserved_domains.id; +ALTER SEQUENCE public.log_reserved_domains_id_seq OWNED BY public.log_reserved_domains.id; -- -- Name: log_settings; Type: TABLE; Schema: public; Owner: -; Tablespace: -- -CREATE TABLE log_settings ( +CREATE TABLE public.log_settings ( id integer NOT NULL, item_type character varying NOT NULL, item_id integer NOT NULL, @@ -1811,7 +1826,7 @@ CREATE TABLE log_settings ( -- Name: log_settings_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- -CREATE SEQUENCE log_settings_id_seq +CREATE SEQUENCE public.log_settings_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -1823,14 +1838,14 @@ CREATE SEQUENCE log_settings_id_seq -- Name: log_settings_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- -ALTER SEQUENCE log_settings_id_seq OWNED BY log_settings.id; +ALTER SEQUENCE public.log_settings_id_seq OWNED BY public.log_settings.id; -- -- Name: log_users; Type: TABLE; Schema: public; Owner: -; Tablespace: -- -CREATE TABLE log_users ( +CREATE TABLE public.log_users ( id integer NOT NULL, item_type character varying NOT NULL, item_id integer NOT NULL, @@ -1849,7 +1864,7 @@ CREATE TABLE log_users ( -- Name: log_users_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- -CREATE SEQUENCE log_users_id_seq +CREATE SEQUENCE public.log_users_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -1861,14 +1876,14 @@ CREATE SEQUENCE log_users_id_seq -- Name: log_users_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- -ALTER SEQUENCE log_users_id_seq OWNED BY log_users.id; +ALTER SEQUENCE public.log_users_id_seq OWNED BY public.log_users.id; -- -- Name: log_white_ips; Type: TABLE; Schema: public; Owner: -; Tablespace: -- -CREATE TABLE log_white_ips ( +CREATE TABLE public.log_white_ips ( id integer NOT NULL, item_type character varying NOT NULL, item_id integer NOT NULL, @@ -1887,7 +1902,7 @@ CREATE TABLE log_white_ips ( -- Name: log_white_ips_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- -CREATE SEQUENCE log_white_ips_id_seq +CREATE SEQUENCE public.log_white_ips_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -1899,14 +1914,14 @@ CREATE SEQUENCE log_white_ips_id_seq -- Name: log_white_ips_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- -ALTER SEQUENCE log_white_ips_id_seq OWNED BY log_white_ips.id; +ALTER SEQUENCE public.log_white_ips_id_seq OWNED BY public.log_white_ips.id; -- -- Name: mail_templates; Type: TABLE; Schema: public; Owner: -; Tablespace: -- -CREATE TABLE mail_templates ( +CREATE TABLE public.mail_templates ( id integer NOT NULL, name character varying NOT NULL, subject character varying, @@ -1924,7 +1939,7 @@ CREATE TABLE mail_templates ( -- Name: mail_templates_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- -CREATE SEQUENCE mail_templates_id_seq +CREATE SEQUENCE public.mail_templates_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -1936,14 +1951,14 @@ CREATE SEQUENCE mail_templates_id_seq -- Name: mail_templates_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- -ALTER SEQUENCE mail_templates_id_seq OWNED BY mail_templates.id; +ALTER SEQUENCE public.mail_templates_id_seq OWNED BY public.mail_templates.id; -- -- Name: messages; Type: TABLE; Schema: public; Owner: -; Tablespace: -- -CREATE TABLE messages ( +CREATE TABLE public.messages ( id integer NOT NULL, registrar_id integer NOT NULL, body character varying NOT NULL, @@ -1961,7 +1976,7 @@ CREATE TABLE messages ( -- Name: messages_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- -CREATE SEQUENCE messages_id_seq +CREATE SEQUENCE public.messages_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -1973,14 +1988,14 @@ CREATE SEQUENCE messages_id_seq -- Name: messages_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- -ALTER SEQUENCE messages_id_seq OWNED BY messages.id; +ALTER SEQUENCE public.messages_id_seq OWNED BY public.messages.id; -- -- Name: nameservers; Type: TABLE; Schema: public; Owner: -; Tablespace: -- -CREATE TABLE nameservers ( +CREATE TABLE public.nameservers ( id integer NOT NULL, hostname character varying NOT NULL, ipv4 character varying[] DEFAULT '{}'::character varying[], @@ -1999,7 +2014,7 @@ CREATE TABLE nameservers ( -- Name: nameservers_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- -CREATE SEQUENCE nameservers_id_seq +CREATE SEQUENCE public.nameservers_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -2011,14 +2026,14 @@ CREATE SEQUENCE nameservers_id_seq -- Name: nameservers_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- -ALTER SEQUENCE nameservers_id_seq OWNED BY nameservers.id; +ALTER SEQUENCE public.nameservers_id_seq OWNED BY public.nameservers.id; -- -- Name: prices; Type: TABLE; Schema: public; Owner: -; Tablespace: -- -CREATE TABLE prices ( +CREATE TABLE public.prices ( id integer NOT NULL, price_cents integer NOT NULL, valid_from timestamp without time zone, @@ -2037,7 +2052,7 @@ CREATE TABLE prices ( -- Name: prices_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- -CREATE SEQUENCE prices_id_seq +CREATE SEQUENCE public.prices_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -2049,14 +2064,14 @@ CREATE SEQUENCE prices_id_seq -- Name: prices_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- -ALTER SEQUENCE prices_id_seq OWNED BY prices.id; +ALTER SEQUENCE public.prices_id_seq OWNED BY public.prices.id; -- -- Name: que_jobs; Type: TABLE; Schema: public; Owner: -; Tablespace: -- -CREATE TABLE que_jobs ( +CREATE TABLE public.que_jobs ( priority smallint DEFAULT 100 NOT NULL, run_at timestamp with time zone DEFAULT now() NOT NULL, job_id bigint NOT NULL, @@ -2072,14 +2087,14 @@ CREATE TABLE que_jobs ( -- Name: TABLE que_jobs; Type: COMMENT; Schema: public; Owner: - -- -COMMENT ON TABLE que_jobs IS '3'; +COMMENT ON TABLE public.que_jobs IS '3'; -- -- Name: que_jobs_job_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- -CREATE SEQUENCE que_jobs_job_id_seq +CREATE SEQUENCE public.que_jobs_job_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -2091,14 +2106,14 @@ CREATE SEQUENCE que_jobs_job_id_seq -- Name: que_jobs_job_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- -ALTER SEQUENCE que_jobs_job_id_seq OWNED BY que_jobs.job_id; +ALTER SEQUENCE public.que_jobs_job_id_seq OWNED BY public.que_jobs.job_id; -- -- Name: registrant_verifications; Type: TABLE; Schema: public; Owner: -; Tablespace: -- -CREATE TABLE registrant_verifications ( +CREATE TABLE public.registrant_verifications ( id integer NOT NULL, domain_name character varying, verification_token character varying, @@ -2114,7 +2129,7 @@ CREATE TABLE registrant_verifications ( -- Name: registrant_verifications_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- -CREATE SEQUENCE registrant_verifications_id_seq +CREATE SEQUENCE public.registrant_verifications_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -2126,14 +2141,14 @@ CREATE SEQUENCE registrant_verifications_id_seq -- Name: registrant_verifications_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- -ALTER SEQUENCE registrant_verifications_id_seq OWNED BY registrant_verifications.id; +ALTER SEQUENCE public.registrant_verifications_id_seq OWNED BY public.registrant_verifications.id; -- -- Name: registrars; Type: TABLE; Schema: public; Owner: -; Tablespace: -- -CREATE TABLE registrars ( +CREATE TABLE public.registrars ( id integer NOT NULL, name character varying NOT NULL, reg_no character varying NOT NULL, @@ -2165,7 +2180,7 @@ CREATE TABLE registrars ( -- Name: registrars_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- -CREATE SEQUENCE registrars_id_seq +CREATE SEQUENCE public.registrars_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -2177,14 +2192,14 @@ CREATE SEQUENCE registrars_id_seq -- Name: registrars_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- -ALTER SEQUENCE registrars_id_seq OWNED BY registrars.id; +ALTER SEQUENCE public.registrars_id_seq OWNED BY public.registrars.id; -- -- Name: reserved_domains; Type: TABLE; Schema: public; Owner: -; Tablespace: -- -CREATE TABLE reserved_domains ( +CREATE TABLE public.reserved_domains ( id integer NOT NULL, created_at timestamp without time zone, updated_at timestamp without time zone, @@ -2200,7 +2215,7 @@ CREATE TABLE reserved_domains ( -- Name: reserved_domains_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- -CREATE SEQUENCE reserved_domains_id_seq +CREATE SEQUENCE public.reserved_domains_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -2212,14 +2227,14 @@ CREATE SEQUENCE reserved_domains_id_seq -- Name: reserved_domains_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- -ALTER SEQUENCE reserved_domains_id_seq OWNED BY reserved_domains.id; +ALTER SEQUENCE public.reserved_domains_id_seq OWNED BY public.reserved_domains.id; -- -- Name: schema_migrations; Type: TABLE; Schema: public; Owner: -; Tablespace: -- -CREATE TABLE schema_migrations ( +CREATE TABLE public.schema_migrations ( version character varying NOT NULL ); @@ -2228,7 +2243,7 @@ CREATE TABLE schema_migrations ( -- Name: settings; Type: TABLE; Schema: public; Owner: -; Tablespace: -- -CREATE TABLE settings ( +CREATE TABLE public.settings ( id integer NOT NULL, var character varying NOT NULL, value text, @@ -2245,7 +2260,7 @@ CREATE TABLE settings ( -- Name: settings_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- -CREATE SEQUENCE settings_id_seq +CREATE SEQUENCE public.settings_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -2257,14 +2272,14 @@ CREATE SEQUENCE settings_id_seq -- Name: settings_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- -ALTER SEQUENCE settings_id_seq OWNED BY settings.id; +ALTER SEQUENCE public.settings_id_seq OWNED BY public.settings.id; -- -- Name: users; Type: TABLE; Schema: public; Owner: -; Tablespace: -- -CREATE TABLE users ( +CREATE TABLE public.users ( id integer NOT NULL, username character varying, password character varying, @@ -2299,7 +2314,7 @@ CREATE TABLE users ( -- Name: users_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- -CREATE SEQUENCE users_id_seq +CREATE SEQUENCE public.users_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -2311,14 +2326,14 @@ CREATE SEQUENCE users_id_seq -- Name: users_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- -ALTER SEQUENCE users_id_seq OWNED BY users.id; +ALTER SEQUENCE public.users_id_seq OWNED BY public.users.id; -- -- Name: versions; Type: TABLE; Schema: public; Owner: -; Tablespace: -- -CREATE TABLE versions ( +CREATE TABLE public.versions ( id integer NOT NULL, depricated_table_but_somehow_paper_trail_tests_fails_without_it text ); @@ -2328,7 +2343,7 @@ CREATE TABLE versions ( -- Name: versions_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- -CREATE SEQUENCE versions_id_seq +CREATE SEQUENCE public.versions_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -2340,14 +2355,14 @@ CREATE SEQUENCE versions_id_seq -- Name: versions_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- -ALTER SEQUENCE versions_id_seq OWNED BY versions.id; +ALTER SEQUENCE public.versions_id_seq OWNED BY public.versions.id; -- -- Name: white_ips; Type: TABLE; Schema: public; Owner: -; Tablespace: -- -CREATE TABLE white_ips ( +CREATE TABLE public.white_ips ( id integer NOT NULL, registrar_id integer, ipv4 character varying, @@ -2364,7 +2379,7 @@ CREATE TABLE white_ips ( -- Name: white_ips_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- -CREATE SEQUENCE white_ips_id_seq +CREATE SEQUENCE public.white_ips_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -2376,14 +2391,14 @@ CREATE SEQUENCE white_ips_id_seq -- Name: white_ips_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- -ALTER SEQUENCE white_ips_id_seq OWNED BY white_ips.id; +ALTER SEQUENCE public.white_ips_id_seq OWNED BY public.white_ips.id; -- -- Name: whois_records; Type: TABLE; Schema: public; Owner: -; Tablespace: -- -CREATE TABLE whois_records ( +CREATE TABLE public.whois_records ( id integer NOT NULL, domain_id integer, name character varying, @@ -2399,7 +2414,7 @@ CREATE TABLE whois_records ( -- Name: whois_records_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- -CREATE SEQUENCE whois_records_id_seq +CREATE SEQUENCE public.whois_records_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -2411,14 +2426,14 @@ CREATE SEQUENCE whois_records_id_seq -- Name: whois_records_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- -ALTER SEQUENCE whois_records_id_seq OWNED BY whois_records.id; +ALTER SEQUENCE public.whois_records_id_seq OWNED BY public.whois_records.id; -- -- Name: zones; Type: TABLE; Schema: public; Owner: -; Tablespace: -- -CREATE TABLE zones ( +CREATE TABLE public.zones ( id integer NOT NULL, origin character varying, ttl integer, @@ -2442,7 +2457,7 @@ CREATE TABLE zones ( -- Name: zones_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- -CREATE SEQUENCE zones_id_seq +CREATE SEQUENCE public.zones_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -2454,399 +2469,399 @@ CREATE SEQUENCE zones_id_seq -- Name: zones_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- -ALTER SEQUENCE zones_id_seq OWNED BY zones.id; +ALTER SEQUENCE public.zones_id_seq OWNED BY public.zones.id; -- -- Name: id; Type: DEFAULT; Schema: public; Owner: - -- -ALTER TABLE ONLY account_activities ALTER COLUMN id SET DEFAULT nextval('account_activities_id_seq'::regclass); +ALTER TABLE ONLY public.account_activities ALTER COLUMN id SET DEFAULT nextval('public.account_activities_id_seq'::regclass); -- -- Name: id; Type: DEFAULT; Schema: public; Owner: - -- -ALTER TABLE ONLY accounts ALTER COLUMN id SET DEFAULT nextval('accounts_id_seq'::regclass); +ALTER TABLE ONLY public.accounts ALTER COLUMN id SET DEFAULT nextval('public.accounts_id_seq'::regclass); -- -- Name: id; Type: DEFAULT; Schema: public; Owner: - -- -ALTER TABLE ONLY bank_statements ALTER COLUMN id SET DEFAULT nextval('bank_statements_id_seq'::regclass); +ALTER TABLE ONLY public.bank_statements ALTER COLUMN id SET DEFAULT nextval('public.bank_statements_id_seq'::regclass); -- -- Name: id; Type: DEFAULT; Schema: public; Owner: - -- -ALTER TABLE ONLY bank_transactions ALTER COLUMN id SET DEFAULT nextval('bank_transactions_id_seq'::regclass); +ALTER TABLE ONLY public.bank_transactions ALTER COLUMN id SET DEFAULT nextval('public.bank_transactions_id_seq'::regclass); -- -- Name: id; Type: DEFAULT; Schema: public; Owner: - -- -ALTER TABLE ONLY banklink_transactions ALTER COLUMN id SET DEFAULT nextval('banklink_transactions_id_seq'::regclass); +ALTER TABLE ONLY public.banklink_transactions ALTER COLUMN id SET DEFAULT nextval('public.banklink_transactions_id_seq'::regclass); -- -- Name: id; Type: DEFAULT; Schema: public; Owner: - -- -ALTER TABLE ONLY blocked_domains ALTER COLUMN id SET DEFAULT nextval('blocked_domains_id_seq'::regclass); +ALTER TABLE ONLY public.blocked_domains ALTER COLUMN id SET DEFAULT nextval('public.blocked_domains_id_seq'::regclass); -- -- Name: id; Type: DEFAULT; Schema: public; Owner: - -- -ALTER TABLE ONLY business_registry_caches ALTER COLUMN id SET DEFAULT nextval('business_registry_caches_id_seq'::regclass); +ALTER TABLE ONLY public.business_registry_caches ALTER COLUMN id SET DEFAULT nextval('public.business_registry_caches_id_seq'::regclass); -- -- Name: id; Type: DEFAULT; Schema: public; Owner: - -- -ALTER TABLE ONLY certificates ALTER COLUMN id SET DEFAULT nextval('certificates_id_seq'::regclass); +ALTER TABLE ONLY public.certificates ALTER COLUMN id SET DEFAULT nextval('public.certificates_id_seq'::regclass); -- -- Name: id; Type: DEFAULT; Schema: public; Owner: - -- -ALTER TABLE ONLY contacts ALTER COLUMN id SET DEFAULT nextval('contacts_id_seq'::regclass); +ALTER TABLE ONLY public.contacts ALTER COLUMN id SET DEFAULT nextval('public.contacts_id_seq'::regclass); -- -- Name: id; Type: DEFAULT; Schema: public; Owner: - -- -ALTER TABLE ONLY delegation_signers ALTER COLUMN id SET DEFAULT nextval('delegation_signers_id_seq'::regclass); +ALTER TABLE ONLY public.delegation_signers ALTER COLUMN id SET DEFAULT nextval('public.delegation_signers_id_seq'::regclass); -- -- Name: id; Type: DEFAULT; Schema: public; Owner: - -- -ALTER TABLE ONLY depricated_versions ALTER COLUMN id SET DEFAULT nextval('depricated_versions_id_seq'::regclass); +ALTER TABLE ONLY public.depricated_versions ALTER COLUMN id SET DEFAULT nextval('public.depricated_versions_id_seq'::regclass); -- -- Name: id; Type: DEFAULT; Schema: public; Owner: - -- -ALTER TABLE ONLY directos ALTER COLUMN id SET DEFAULT nextval('directos_id_seq'::regclass); +ALTER TABLE ONLY public.directos ALTER COLUMN id SET DEFAULT nextval('public.directos_id_seq'::regclass); -- -- Name: id; Type: DEFAULT; Schema: public; Owner: - -- -ALTER TABLE ONLY dnskeys ALTER COLUMN id SET DEFAULT nextval('dnskeys_id_seq'::regclass); +ALTER TABLE ONLY public.dnskeys ALTER COLUMN id SET DEFAULT nextval('public.dnskeys_id_seq'::regclass); -- -- Name: id; Type: DEFAULT; Schema: public; Owner: - -- -ALTER TABLE ONLY domain_contacts ALTER COLUMN id SET DEFAULT nextval('domain_contacts_id_seq'::regclass); +ALTER TABLE ONLY public.domain_contacts ALTER COLUMN id SET DEFAULT nextval('public.domain_contacts_id_seq'::regclass); -- -- Name: id; Type: DEFAULT; Schema: public; Owner: - -- -ALTER TABLE ONLY domain_transfers ALTER COLUMN id SET DEFAULT nextval('domain_transfers_id_seq'::regclass); +ALTER TABLE ONLY public.domain_transfers ALTER COLUMN id SET DEFAULT nextval('public.domain_transfers_id_seq'::regclass); -- -- Name: id; Type: DEFAULT; Schema: public; Owner: - -- -ALTER TABLE ONLY domains ALTER COLUMN id SET DEFAULT nextval('domains_id_seq'::regclass); +ALTER TABLE ONLY public.domains ALTER COLUMN id SET DEFAULT nextval('public.domains_id_seq'::regclass); -- -- Name: id; Type: DEFAULT; Schema: public; Owner: - -- -ALTER TABLE ONLY epp_sessions ALTER COLUMN id SET DEFAULT nextval('epp_sessions_id_seq'::regclass); +ALTER TABLE ONLY public.epp_sessions ALTER COLUMN id SET DEFAULT nextval('public.epp_sessions_id_seq'::regclass); -- -- Name: id; Type: DEFAULT; Schema: public; Owner: - -- -ALTER TABLE ONLY invoice_items ALTER COLUMN id SET DEFAULT nextval('invoice_items_id_seq'::regclass); +ALTER TABLE ONLY public.invoice_items ALTER COLUMN id SET DEFAULT nextval('public.invoice_items_id_seq'::regclass); -- -- Name: id; Type: DEFAULT; Schema: public; Owner: - -- -ALTER TABLE ONLY invoices ALTER COLUMN id SET DEFAULT nextval('invoices_id_seq'::regclass); +ALTER TABLE ONLY public.invoices ALTER COLUMN id SET DEFAULT nextval('public.invoices_id_seq'::regclass); -- -- Name: id; Type: DEFAULT; Schema: public; Owner: - -- -ALTER TABLE ONLY keyrelays ALTER COLUMN id SET DEFAULT nextval('keyrelays_id_seq'::regclass); +ALTER TABLE ONLY public.keyrelays ALTER COLUMN id SET DEFAULT nextval('public.keyrelays_id_seq'::regclass); -- -- Name: id; Type: DEFAULT; Schema: public; Owner: - -- -ALTER TABLE ONLY legal_documents ALTER COLUMN id SET DEFAULT nextval('legal_documents_id_seq'::regclass); +ALTER TABLE ONLY public.legal_documents ALTER COLUMN id SET DEFAULT nextval('public.legal_documents_id_seq'::regclass); -- -- Name: id; Type: DEFAULT; Schema: public; Owner: - -- -ALTER TABLE ONLY log_account_activities ALTER COLUMN id SET DEFAULT nextval('log_account_activities_id_seq'::regclass); +ALTER TABLE ONLY public.log_account_activities ALTER COLUMN id SET DEFAULT nextval('public.log_account_activities_id_seq'::regclass); -- -- Name: id; Type: DEFAULT; Schema: public; Owner: - -- -ALTER TABLE ONLY log_accounts ALTER COLUMN id SET DEFAULT nextval('log_accounts_id_seq'::regclass); +ALTER TABLE ONLY public.log_accounts ALTER COLUMN id SET DEFAULT nextval('public.log_accounts_id_seq'::regclass); -- -- Name: id; Type: DEFAULT; Schema: public; Owner: - -- -ALTER TABLE ONLY log_bank_statements ALTER COLUMN id SET DEFAULT nextval('log_bank_statements_id_seq'::regclass); +ALTER TABLE ONLY public.log_bank_statements ALTER COLUMN id SET DEFAULT nextval('public.log_bank_statements_id_seq'::regclass); -- -- Name: id; Type: DEFAULT; Schema: public; Owner: - -- -ALTER TABLE ONLY log_bank_transactions ALTER COLUMN id SET DEFAULT nextval('log_bank_transactions_id_seq'::regclass); +ALTER TABLE ONLY public.log_bank_transactions ALTER COLUMN id SET DEFAULT nextval('public.log_bank_transactions_id_seq'::regclass); -- -- Name: id; Type: DEFAULT; Schema: public; Owner: - -- -ALTER TABLE ONLY log_blocked_domains ALTER COLUMN id SET DEFAULT nextval('log_blocked_domains_id_seq'::regclass); +ALTER TABLE ONLY public.log_blocked_domains ALTER COLUMN id SET DEFAULT nextval('public.log_blocked_domains_id_seq'::regclass); -- -- Name: id; Type: DEFAULT; Schema: public; Owner: - -- -ALTER TABLE ONLY log_certificates ALTER COLUMN id SET DEFAULT nextval('log_certificates_id_seq'::regclass); +ALTER TABLE ONLY public.log_certificates ALTER COLUMN id SET DEFAULT nextval('public.log_certificates_id_seq'::regclass); -- -- Name: id; Type: DEFAULT; Schema: public; Owner: - -- -ALTER TABLE ONLY log_contacts ALTER COLUMN id SET DEFAULT nextval('log_contacts_id_seq'::regclass); +ALTER TABLE ONLY public.log_contacts ALTER COLUMN id SET DEFAULT nextval('public.log_contacts_id_seq'::regclass); -- -- Name: id; Type: DEFAULT; Schema: public; Owner: - -- -ALTER TABLE ONLY log_dnskeys ALTER COLUMN id SET DEFAULT nextval('log_dnskeys_id_seq'::regclass); +ALTER TABLE ONLY public.log_dnskeys ALTER COLUMN id SET DEFAULT nextval('public.log_dnskeys_id_seq'::regclass); -- -- Name: id; Type: DEFAULT; Schema: public; Owner: - -- -ALTER TABLE ONLY log_domain_contacts ALTER COLUMN id SET DEFAULT nextval('log_domain_contacts_id_seq'::regclass); +ALTER TABLE ONLY public.log_domain_contacts ALTER COLUMN id SET DEFAULT nextval('public.log_domain_contacts_id_seq'::regclass); -- -- Name: id; Type: DEFAULT; Schema: public; Owner: - -- -ALTER TABLE ONLY log_domains ALTER COLUMN id SET DEFAULT nextval('log_domains_id_seq'::regclass); +ALTER TABLE ONLY public.log_domains ALTER COLUMN id SET DEFAULT nextval('public.log_domains_id_seq'::regclass); -- -- Name: id; Type: DEFAULT; Schema: public; Owner: - -- -ALTER TABLE ONLY log_invoice_items ALTER COLUMN id SET DEFAULT nextval('log_invoice_items_id_seq'::regclass); +ALTER TABLE ONLY public.log_invoice_items ALTER COLUMN id SET DEFAULT nextval('public.log_invoice_items_id_seq'::regclass); -- -- Name: id; Type: DEFAULT; Schema: public; Owner: - -- -ALTER TABLE ONLY log_invoices ALTER COLUMN id SET DEFAULT nextval('log_invoices_id_seq'::regclass); +ALTER TABLE ONLY public.log_invoices ALTER COLUMN id SET DEFAULT nextval('public.log_invoices_id_seq'::regclass); -- -- Name: id; Type: DEFAULT; Schema: public; Owner: - -- -ALTER TABLE ONLY log_keyrelays ALTER COLUMN id SET DEFAULT nextval('log_keyrelays_id_seq'::regclass); +ALTER TABLE ONLY public.log_keyrelays ALTER COLUMN id SET DEFAULT nextval('public.log_keyrelays_id_seq'::regclass); -- -- Name: id; Type: DEFAULT; Schema: public; Owner: - -- -ALTER TABLE ONLY log_messages ALTER COLUMN id SET DEFAULT nextval('log_messages_id_seq'::regclass); +ALTER TABLE ONLY public.log_messages ALTER COLUMN id SET DEFAULT nextval('public.log_messages_id_seq'::regclass); -- -- Name: id; Type: DEFAULT; Schema: public; Owner: - -- -ALTER TABLE ONLY log_nameservers ALTER COLUMN id SET DEFAULT nextval('log_nameservers_id_seq'::regclass); +ALTER TABLE ONLY public.log_nameservers ALTER COLUMN id SET DEFAULT nextval('public.log_nameservers_id_seq'::regclass); -- -- Name: id; Type: DEFAULT; Schema: public; Owner: - -- -ALTER TABLE ONLY log_registrars ALTER COLUMN id SET DEFAULT nextval('log_registrars_id_seq'::regclass); +ALTER TABLE ONLY public.log_registrars ALTER COLUMN id SET DEFAULT nextval('public.log_registrars_id_seq'::regclass); -- -- Name: id; Type: DEFAULT; Schema: public; Owner: - -- -ALTER TABLE ONLY log_reserved_domains ALTER COLUMN id SET DEFAULT nextval('log_reserved_domains_id_seq'::regclass); +ALTER TABLE ONLY public.log_reserved_domains ALTER COLUMN id SET DEFAULT nextval('public.log_reserved_domains_id_seq'::regclass); -- -- Name: id; Type: DEFAULT; Schema: public; Owner: - -- -ALTER TABLE ONLY log_settings ALTER COLUMN id SET DEFAULT nextval('log_settings_id_seq'::regclass); +ALTER TABLE ONLY public.log_settings ALTER COLUMN id SET DEFAULT nextval('public.log_settings_id_seq'::regclass); -- -- Name: id; Type: DEFAULT; Schema: public; Owner: - -- -ALTER TABLE ONLY log_users ALTER COLUMN id SET DEFAULT nextval('log_users_id_seq'::regclass); +ALTER TABLE ONLY public.log_users ALTER COLUMN id SET DEFAULT nextval('public.log_users_id_seq'::regclass); -- -- Name: id; Type: DEFAULT; Schema: public; Owner: - -- -ALTER TABLE ONLY log_white_ips ALTER COLUMN id SET DEFAULT nextval('log_white_ips_id_seq'::regclass); +ALTER TABLE ONLY public.log_white_ips ALTER COLUMN id SET DEFAULT nextval('public.log_white_ips_id_seq'::regclass); -- -- Name: id; Type: DEFAULT; Schema: public; Owner: - -- -ALTER TABLE ONLY mail_templates ALTER COLUMN id SET DEFAULT nextval('mail_templates_id_seq'::regclass); +ALTER TABLE ONLY public.mail_templates ALTER COLUMN id SET DEFAULT nextval('public.mail_templates_id_seq'::regclass); -- -- Name: id; Type: DEFAULT; Schema: public; Owner: - -- -ALTER TABLE ONLY messages ALTER COLUMN id SET DEFAULT nextval('messages_id_seq'::regclass); +ALTER TABLE ONLY public.messages ALTER COLUMN id SET DEFAULT nextval('public.messages_id_seq'::regclass); -- -- Name: id; Type: DEFAULT; Schema: public; Owner: - -- -ALTER TABLE ONLY nameservers ALTER COLUMN id SET DEFAULT nextval('nameservers_id_seq'::regclass); +ALTER TABLE ONLY public.nameservers ALTER COLUMN id SET DEFAULT nextval('public.nameservers_id_seq'::regclass); -- -- Name: id; Type: DEFAULT; Schema: public; Owner: - -- -ALTER TABLE ONLY prices ALTER COLUMN id SET DEFAULT nextval('prices_id_seq'::regclass); +ALTER TABLE ONLY public.prices ALTER COLUMN id SET DEFAULT nextval('public.prices_id_seq'::regclass); -- -- Name: job_id; Type: DEFAULT; Schema: public; Owner: - -- -ALTER TABLE ONLY que_jobs ALTER COLUMN job_id SET DEFAULT nextval('que_jobs_job_id_seq'::regclass); +ALTER TABLE ONLY public.que_jobs ALTER COLUMN job_id SET DEFAULT nextval('public.que_jobs_job_id_seq'::regclass); -- -- Name: id; Type: DEFAULT; Schema: public; Owner: - -- -ALTER TABLE ONLY registrant_verifications ALTER COLUMN id SET DEFAULT nextval('registrant_verifications_id_seq'::regclass); +ALTER TABLE ONLY public.registrant_verifications ALTER COLUMN id SET DEFAULT nextval('public.registrant_verifications_id_seq'::regclass); -- -- Name: id; Type: DEFAULT; Schema: public; Owner: - -- -ALTER TABLE ONLY registrars ALTER COLUMN id SET DEFAULT nextval('registrars_id_seq'::regclass); +ALTER TABLE ONLY public.registrars ALTER COLUMN id SET DEFAULT nextval('public.registrars_id_seq'::regclass); -- -- Name: id; Type: DEFAULT; Schema: public; Owner: - -- -ALTER TABLE ONLY reserved_domains ALTER COLUMN id SET DEFAULT nextval('reserved_domains_id_seq'::regclass); +ALTER TABLE ONLY public.reserved_domains ALTER COLUMN id SET DEFAULT nextval('public.reserved_domains_id_seq'::regclass); -- -- Name: id; Type: DEFAULT; Schema: public; Owner: - -- -ALTER TABLE ONLY settings ALTER COLUMN id SET DEFAULT nextval('settings_id_seq'::regclass); +ALTER TABLE ONLY public.settings ALTER COLUMN id SET DEFAULT nextval('public.settings_id_seq'::regclass); -- -- Name: id; Type: DEFAULT; Schema: public; Owner: - -- -ALTER TABLE ONLY users ALTER COLUMN id SET DEFAULT nextval('users_id_seq'::regclass); +ALTER TABLE ONLY public.users ALTER COLUMN id SET DEFAULT nextval('public.users_id_seq'::regclass); -- -- Name: id; Type: DEFAULT; Schema: public; Owner: - -- -ALTER TABLE ONLY versions ALTER COLUMN id SET DEFAULT nextval('versions_id_seq'::regclass); +ALTER TABLE ONLY public.versions ALTER COLUMN id SET DEFAULT nextval('public.versions_id_seq'::regclass); -- -- Name: id; Type: DEFAULT; Schema: public; Owner: - -- -ALTER TABLE ONLY white_ips ALTER COLUMN id SET DEFAULT nextval('white_ips_id_seq'::regclass); +ALTER TABLE ONLY public.white_ips ALTER COLUMN id SET DEFAULT nextval('public.white_ips_id_seq'::regclass); -- -- Name: id; Type: DEFAULT; Schema: public; Owner: - -- -ALTER TABLE ONLY whois_records ALTER COLUMN id SET DEFAULT nextval('whois_records_id_seq'::regclass); +ALTER TABLE ONLY public.whois_records ALTER COLUMN id SET DEFAULT nextval('public.whois_records_id_seq'::regclass); -- -- Name: id; Type: DEFAULT; Schema: public; Owner: - -- -ALTER TABLE ONLY zones ALTER COLUMN id SET DEFAULT nextval('zones_id_seq'::regclass); +ALTER TABLE ONLY public.zones ALTER COLUMN id SET DEFAULT nextval('public.zones_id_seq'::regclass); -- -- Name: account_activities_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: -- -ALTER TABLE ONLY account_activities +ALTER TABLE ONLY public.account_activities ADD CONSTRAINT account_activities_pkey PRIMARY KEY (id); @@ -2854,7 +2869,7 @@ ALTER TABLE ONLY account_activities -- Name: accounts_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: -- -ALTER TABLE ONLY accounts +ALTER TABLE ONLY public.accounts ADD CONSTRAINT accounts_pkey PRIMARY KEY (id); @@ -2862,7 +2877,7 @@ ALTER TABLE ONLY accounts -- Name: bank_statements_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: -- -ALTER TABLE ONLY bank_statements +ALTER TABLE ONLY public.bank_statements ADD CONSTRAINT bank_statements_pkey PRIMARY KEY (id); @@ -2870,7 +2885,7 @@ ALTER TABLE ONLY bank_statements -- Name: bank_transactions_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: -- -ALTER TABLE ONLY bank_transactions +ALTER TABLE ONLY public.bank_transactions ADD CONSTRAINT bank_transactions_pkey PRIMARY KEY (id); @@ -2878,7 +2893,7 @@ ALTER TABLE ONLY bank_transactions -- Name: banklink_transactions_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: -- -ALTER TABLE ONLY banklink_transactions +ALTER TABLE ONLY public.banklink_transactions ADD CONSTRAINT banklink_transactions_pkey PRIMARY KEY (id); @@ -2886,7 +2901,7 @@ ALTER TABLE ONLY banklink_transactions -- Name: blocked_domains_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: -- -ALTER TABLE ONLY blocked_domains +ALTER TABLE ONLY public.blocked_domains ADD CONSTRAINT blocked_domains_pkey PRIMARY KEY (id); @@ -2894,7 +2909,7 @@ ALTER TABLE ONLY blocked_domains -- Name: business_registry_caches_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: -- -ALTER TABLE ONLY business_registry_caches +ALTER TABLE ONLY public.business_registry_caches ADD CONSTRAINT business_registry_caches_pkey PRIMARY KEY (id); @@ -2902,7 +2917,7 @@ ALTER TABLE ONLY business_registry_caches -- Name: certificates_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: -- -ALTER TABLE ONLY certificates +ALTER TABLE ONLY public.certificates ADD CONSTRAINT certificates_pkey PRIMARY KEY (id); @@ -2910,7 +2925,7 @@ ALTER TABLE ONLY certificates -- Name: contacts_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: -- -ALTER TABLE ONLY contacts +ALTER TABLE ONLY public.contacts ADD CONSTRAINT contacts_pkey PRIMARY KEY (id); @@ -2918,7 +2933,7 @@ ALTER TABLE ONLY contacts -- Name: delegation_signers_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: -- -ALTER TABLE ONLY delegation_signers +ALTER TABLE ONLY public.delegation_signers ADD CONSTRAINT delegation_signers_pkey PRIMARY KEY (id); @@ -2926,7 +2941,7 @@ ALTER TABLE ONLY delegation_signers -- Name: depricated_versions_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: -- -ALTER TABLE ONLY depricated_versions +ALTER TABLE ONLY public.depricated_versions ADD CONSTRAINT depricated_versions_pkey PRIMARY KEY (id); @@ -2934,7 +2949,7 @@ ALTER TABLE ONLY depricated_versions -- Name: directos_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: -- -ALTER TABLE ONLY directos +ALTER TABLE ONLY public.directos ADD CONSTRAINT directos_pkey PRIMARY KEY (id); @@ -2942,7 +2957,7 @@ ALTER TABLE ONLY directos -- Name: dnskeys_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: -- -ALTER TABLE ONLY dnskeys +ALTER TABLE ONLY public.dnskeys ADD CONSTRAINT dnskeys_pkey PRIMARY KEY (id); @@ -2950,7 +2965,7 @@ ALTER TABLE ONLY dnskeys -- Name: domain_contacts_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: -- -ALTER TABLE ONLY domain_contacts +ALTER TABLE ONLY public.domain_contacts ADD CONSTRAINT domain_contacts_pkey PRIMARY KEY (id); @@ -2958,7 +2973,7 @@ ALTER TABLE ONLY domain_contacts -- Name: domain_transfers_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: -- -ALTER TABLE ONLY domain_transfers +ALTER TABLE ONLY public.domain_transfers ADD CONSTRAINT domain_transfers_pkey PRIMARY KEY (id); @@ -2966,7 +2981,7 @@ ALTER TABLE ONLY domain_transfers -- Name: domains_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: -- -ALTER TABLE ONLY domains +ALTER TABLE ONLY public.domains ADD CONSTRAINT domains_pkey PRIMARY KEY (id); @@ -2974,7 +2989,7 @@ ALTER TABLE ONLY domains -- Name: epp_sessions_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: -- -ALTER TABLE ONLY epp_sessions +ALTER TABLE ONLY public.epp_sessions ADD CONSTRAINT epp_sessions_pkey PRIMARY KEY (id); @@ -2982,7 +2997,7 @@ ALTER TABLE ONLY epp_sessions -- Name: invoice_items_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: -- -ALTER TABLE ONLY invoice_items +ALTER TABLE ONLY public.invoice_items ADD CONSTRAINT invoice_items_pkey PRIMARY KEY (id); @@ -2990,7 +3005,7 @@ ALTER TABLE ONLY invoice_items -- Name: invoices_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: -- -ALTER TABLE ONLY invoices +ALTER TABLE ONLY public.invoices ADD CONSTRAINT invoices_pkey PRIMARY KEY (id); @@ -2998,7 +3013,7 @@ ALTER TABLE ONLY invoices -- Name: keyrelays_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: -- -ALTER TABLE ONLY keyrelays +ALTER TABLE ONLY public.keyrelays ADD CONSTRAINT keyrelays_pkey PRIMARY KEY (id); @@ -3006,7 +3021,7 @@ ALTER TABLE ONLY keyrelays -- Name: legal_documents_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: -- -ALTER TABLE ONLY legal_documents +ALTER TABLE ONLY public.legal_documents ADD CONSTRAINT legal_documents_pkey PRIMARY KEY (id); @@ -3014,7 +3029,7 @@ ALTER TABLE ONLY legal_documents -- Name: log_account_activities_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: -- -ALTER TABLE ONLY log_account_activities +ALTER TABLE ONLY public.log_account_activities ADD CONSTRAINT log_account_activities_pkey PRIMARY KEY (id); @@ -3022,7 +3037,7 @@ ALTER TABLE ONLY log_account_activities -- Name: log_accounts_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: -- -ALTER TABLE ONLY log_accounts +ALTER TABLE ONLY public.log_accounts ADD CONSTRAINT log_accounts_pkey PRIMARY KEY (id); @@ -3030,7 +3045,7 @@ ALTER TABLE ONLY log_accounts -- Name: log_bank_statements_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: -- -ALTER TABLE ONLY log_bank_statements +ALTER TABLE ONLY public.log_bank_statements ADD CONSTRAINT log_bank_statements_pkey PRIMARY KEY (id); @@ -3038,7 +3053,7 @@ ALTER TABLE ONLY log_bank_statements -- Name: log_bank_transactions_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: -- -ALTER TABLE ONLY log_bank_transactions +ALTER TABLE ONLY public.log_bank_transactions ADD CONSTRAINT log_bank_transactions_pkey PRIMARY KEY (id); @@ -3046,7 +3061,7 @@ ALTER TABLE ONLY log_bank_transactions -- Name: log_blocked_domains_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: -- -ALTER TABLE ONLY log_blocked_domains +ALTER TABLE ONLY public.log_blocked_domains ADD CONSTRAINT log_blocked_domains_pkey PRIMARY KEY (id); @@ -3054,7 +3069,7 @@ ALTER TABLE ONLY log_blocked_domains -- Name: log_certificates_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: -- -ALTER TABLE ONLY log_certificates +ALTER TABLE ONLY public.log_certificates ADD CONSTRAINT log_certificates_pkey PRIMARY KEY (id); @@ -3062,7 +3077,7 @@ ALTER TABLE ONLY log_certificates -- Name: log_contacts_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: -- -ALTER TABLE ONLY log_contacts +ALTER TABLE ONLY public.log_contacts ADD CONSTRAINT log_contacts_pkey PRIMARY KEY (id); @@ -3070,7 +3085,7 @@ ALTER TABLE ONLY log_contacts -- Name: log_dnskeys_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: -- -ALTER TABLE ONLY log_dnskeys +ALTER TABLE ONLY public.log_dnskeys ADD CONSTRAINT log_dnskeys_pkey PRIMARY KEY (id); @@ -3078,7 +3093,7 @@ ALTER TABLE ONLY log_dnskeys -- Name: log_domain_contacts_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: -- -ALTER TABLE ONLY log_domain_contacts +ALTER TABLE ONLY public.log_domain_contacts ADD CONSTRAINT log_domain_contacts_pkey PRIMARY KEY (id); @@ -3086,7 +3101,7 @@ ALTER TABLE ONLY log_domain_contacts -- Name: log_domains_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: -- -ALTER TABLE ONLY log_domains +ALTER TABLE ONLY public.log_domains ADD CONSTRAINT log_domains_pkey PRIMARY KEY (id); @@ -3094,7 +3109,7 @@ ALTER TABLE ONLY log_domains -- Name: log_invoice_items_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: -- -ALTER TABLE ONLY log_invoice_items +ALTER TABLE ONLY public.log_invoice_items ADD CONSTRAINT log_invoice_items_pkey PRIMARY KEY (id); @@ -3102,7 +3117,7 @@ ALTER TABLE ONLY log_invoice_items -- Name: log_invoices_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: -- -ALTER TABLE ONLY log_invoices +ALTER TABLE ONLY public.log_invoices ADD CONSTRAINT log_invoices_pkey PRIMARY KEY (id); @@ -3110,7 +3125,7 @@ ALTER TABLE ONLY log_invoices -- Name: log_keyrelays_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: -- -ALTER TABLE ONLY log_keyrelays +ALTER TABLE ONLY public.log_keyrelays ADD CONSTRAINT log_keyrelays_pkey PRIMARY KEY (id); @@ -3118,7 +3133,7 @@ ALTER TABLE ONLY log_keyrelays -- Name: log_messages_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: -- -ALTER TABLE ONLY log_messages +ALTER TABLE ONLY public.log_messages ADD CONSTRAINT log_messages_pkey PRIMARY KEY (id); @@ -3126,7 +3141,7 @@ ALTER TABLE ONLY log_messages -- Name: log_nameservers_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: -- -ALTER TABLE ONLY log_nameservers +ALTER TABLE ONLY public.log_nameservers ADD CONSTRAINT log_nameservers_pkey PRIMARY KEY (id); @@ -3134,7 +3149,7 @@ ALTER TABLE ONLY log_nameservers -- Name: log_registrars_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: -- -ALTER TABLE ONLY log_registrars +ALTER TABLE ONLY public.log_registrars ADD CONSTRAINT log_registrars_pkey PRIMARY KEY (id); @@ -3142,7 +3157,7 @@ ALTER TABLE ONLY log_registrars -- Name: log_reserved_domains_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: -- -ALTER TABLE ONLY log_reserved_domains +ALTER TABLE ONLY public.log_reserved_domains ADD CONSTRAINT log_reserved_domains_pkey PRIMARY KEY (id); @@ -3150,7 +3165,7 @@ ALTER TABLE ONLY log_reserved_domains -- Name: log_settings_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: -- -ALTER TABLE ONLY log_settings +ALTER TABLE ONLY public.log_settings ADD CONSTRAINT log_settings_pkey PRIMARY KEY (id); @@ -3158,7 +3173,7 @@ ALTER TABLE ONLY log_settings -- Name: log_users_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: -- -ALTER TABLE ONLY log_users +ALTER TABLE ONLY public.log_users ADD CONSTRAINT log_users_pkey PRIMARY KEY (id); @@ -3166,7 +3181,7 @@ ALTER TABLE ONLY log_users -- Name: log_white_ips_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: -- -ALTER TABLE ONLY log_white_ips +ALTER TABLE ONLY public.log_white_ips ADD CONSTRAINT log_white_ips_pkey PRIMARY KEY (id); @@ -3174,7 +3189,7 @@ ALTER TABLE ONLY log_white_ips -- Name: mail_templates_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: -- -ALTER TABLE ONLY mail_templates +ALTER TABLE ONLY public.mail_templates ADD CONSTRAINT mail_templates_pkey PRIMARY KEY (id); @@ -3182,7 +3197,7 @@ ALTER TABLE ONLY mail_templates -- Name: messages_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: -- -ALTER TABLE ONLY messages +ALTER TABLE ONLY public.messages ADD CONSTRAINT messages_pkey PRIMARY KEY (id); @@ -3190,7 +3205,7 @@ ALTER TABLE ONLY messages -- Name: nameservers_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: -- -ALTER TABLE ONLY nameservers +ALTER TABLE ONLY public.nameservers ADD CONSTRAINT nameservers_pkey PRIMARY KEY (id); @@ -3198,7 +3213,7 @@ ALTER TABLE ONLY nameservers -- Name: prices_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: -- -ALTER TABLE ONLY prices +ALTER TABLE ONLY public.prices ADD CONSTRAINT prices_pkey PRIMARY KEY (id); @@ -3206,7 +3221,7 @@ ALTER TABLE ONLY prices -- Name: que_jobs_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: -- -ALTER TABLE ONLY que_jobs +ALTER TABLE ONLY public.que_jobs ADD CONSTRAINT que_jobs_pkey PRIMARY KEY (queue, priority, run_at, job_id); @@ -3214,7 +3229,7 @@ ALTER TABLE ONLY que_jobs -- Name: registrant_verifications_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: -- -ALTER TABLE ONLY registrant_verifications +ALTER TABLE ONLY public.registrant_verifications ADD CONSTRAINT registrant_verifications_pkey PRIMARY KEY (id); @@ -3222,7 +3237,7 @@ ALTER TABLE ONLY registrant_verifications -- Name: registrars_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: -- -ALTER TABLE ONLY registrars +ALTER TABLE ONLY public.registrars ADD CONSTRAINT registrars_pkey PRIMARY KEY (id); @@ -3230,7 +3245,7 @@ ALTER TABLE ONLY registrars -- Name: reserved_domains_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: -- -ALTER TABLE ONLY reserved_domains +ALTER TABLE ONLY public.reserved_domains ADD CONSTRAINT reserved_domains_pkey PRIMARY KEY (id); @@ -3238,15 +3253,31 @@ ALTER TABLE ONLY reserved_domains -- Name: settings_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: -- -ALTER TABLE ONLY settings +ALTER TABLE ONLY public.settings ADD CONSTRAINT settings_pkey PRIMARY KEY (id); +-- +-- Name: uniq_contact_uuid; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: +-- + +ALTER TABLE ONLY public.contacts + ADD CONSTRAINT uniq_contact_uuid UNIQUE (uuid); + + +-- +-- Name: uniq_domain_uuid; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: +-- + +ALTER TABLE ONLY public.domains + ADD CONSTRAINT uniq_domain_uuid UNIQUE (uuid); + + -- -- Name: unique_code; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: -- -ALTER TABLE ONLY registrars +ALTER TABLE ONLY public.registrars ADD CONSTRAINT unique_code UNIQUE (code); @@ -3254,7 +3285,7 @@ ALTER TABLE ONLY registrars -- Name: unique_contact_code; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: -- -ALTER TABLE ONLY contacts +ALTER TABLE ONLY public.contacts ADD CONSTRAINT unique_contact_code UNIQUE (code); @@ -3262,7 +3293,7 @@ ALTER TABLE ONLY contacts -- Name: unique_name; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: -- -ALTER TABLE ONLY registrars +ALTER TABLE ONLY public.registrars ADD CONSTRAINT unique_name UNIQUE (name); @@ -3270,7 +3301,7 @@ ALTER TABLE ONLY registrars -- Name: unique_reference_no; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: -- -ALTER TABLE ONLY registrars +ALTER TABLE ONLY public.registrars ADD CONSTRAINT unique_reference_no UNIQUE (reference_no); @@ -3278,7 +3309,7 @@ ALTER TABLE ONLY registrars -- Name: unique_session_id; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: -- -ALTER TABLE ONLY epp_sessions +ALTER TABLE ONLY public.epp_sessions ADD CONSTRAINT unique_session_id UNIQUE (session_id); @@ -3286,7 +3317,7 @@ ALTER TABLE ONLY epp_sessions -- Name: unique_zone_origin; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: -- -ALTER TABLE ONLY zones +ALTER TABLE ONLY public.zones ADD CONSTRAINT unique_zone_origin UNIQUE (origin); @@ -3294,7 +3325,7 @@ ALTER TABLE ONLY zones -- Name: users_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: -- -ALTER TABLE ONLY users +ALTER TABLE ONLY public.users ADD CONSTRAINT users_pkey PRIMARY KEY (id); @@ -3302,7 +3333,7 @@ ALTER TABLE ONLY users -- Name: versions_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: -- -ALTER TABLE ONLY versions +ALTER TABLE ONLY public.versions ADD CONSTRAINT versions_pkey PRIMARY KEY (id); @@ -3310,7 +3341,7 @@ ALTER TABLE ONLY versions -- Name: white_ips_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: -- -ALTER TABLE ONLY white_ips +ALTER TABLE ONLY public.white_ips ADD CONSTRAINT white_ips_pkey PRIMARY KEY (id); @@ -3318,7 +3349,7 @@ ALTER TABLE ONLY white_ips -- Name: whois_records_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: -- -ALTER TABLE ONLY whois_records +ALTER TABLE ONLY public.whois_records ADD CONSTRAINT whois_records_pkey PRIMARY KEY (id); @@ -3326,7 +3357,7 @@ ALTER TABLE ONLY whois_records -- Name: zones_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: -- -ALTER TABLE ONLY zones +ALTER TABLE ONLY public.zones ADD CONSTRAINT zones_pkey PRIMARY KEY (id); @@ -3334,760 +3365,760 @@ ALTER TABLE ONLY zones -- Name: index_account_activities_on_account_id; Type: INDEX; Schema: public; Owner: -; Tablespace: -- -CREATE INDEX index_account_activities_on_account_id ON account_activities USING btree (account_id); +CREATE INDEX index_account_activities_on_account_id ON public.account_activities USING btree (account_id); -- -- Name: index_account_activities_on_bank_transaction_id; Type: INDEX; Schema: public; Owner: -; Tablespace: -- -CREATE INDEX index_account_activities_on_bank_transaction_id ON account_activities USING btree (bank_transaction_id); +CREATE INDEX index_account_activities_on_bank_transaction_id ON public.account_activities USING btree (bank_transaction_id); -- -- Name: index_account_activities_on_invoice_id; Type: INDEX; Schema: public; Owner: -; Tablespace: -- -CREATE INDEX index_account_activities_on_invoice_id ON account_activities USING btree (invoice_id); +CREATE INDEX index_account_activities_on_invoice_id ON public.account_activities USING btree (invoice_id); -- -- Name: index_accounts_on_registrar_id; Type: INDEX; Schema: public; Owner: -; Tablespace: -- -CREATE INDEX index_accounts_on_registrar_id ON accounts USING btree (registrar_id); +CREATE INDEX index_accounts_on_registrar_id ON public.accounts USING btree (registrar_id); -- -- Name: index_blocked_domains_on_name; Type: INDEX; Schema: public; Owner: -; Tablespace: -- -CREATE INDEX index_blocked_domains_on_name ON blocked_domains USING btree (name); +CREATE INDEX index_blocked_domains_on_name ON public.blocked_domains USING btree (name); -- -- Name: index_business_registry_caches_on_ident; Type: INDEX; Schema: public; Owner: -; Tablespace: -- -CREATE INDEX index_business_registry_caches_on_ident ON business_registry_caches USING btree (ident); +CREATE INDEX index_business_registry_caches_on_ident ON public.business_registry_caches USING btree (ident); -- -- Name: index_certificates_on_api_user_id; Type: INDEX; Schema: public; Owner: -; Tablespace: -- -CREATE INDEX index_certificates_on_api_user_id ON certificates USING btree (api_user_id); +CREATE INDEX index_certificates_on_api_user_id ON public.certificates USING btree (api_user_id); -- -- Name: index_contacts_on_code; Type: INDEX; Schema: public; Owner: -; Tablespace: -- -CREATE INDEX index_contacts_on_code ON contacts USING btree (code); +CREATE INDEX index_contacts_on_code ON public.contacts USING btree (code); -- -- Name: index_contacts_on_registrar_id; Type: INDEX; Schema: public; Owner: -; Tablespace: -- -CREATE INDEX index_contacts_on_registrar_id ON contacts USING btree (registrar_id); +CREATE INDEX index_contacts_on_registrar_id ON public.contacts USING btree (registrar_id); -- -- Name: index_contacts_on_registrar_id_and_ident_type; Type: INDEX; Schema: public; Owner: -; Tablespace: -- -CREATE INDEX index_contacts_on_registrar_id_and_ident_type ON contacts USING btree (registrar_id, ident_type); +CREATE INDEX index_contacts_on_registrar_id_and_ident_type ON public.contacts USING btree (registrar_id, ident_type); -- -- Name: index_delegation_signers_on_domain_id; Type: INDEX; Schema: public; Owner: -; Tablespace: -- -CREATE INDEX index_delegation_signers_on_domain_id ON delegation_signers USING btree (domain_id); +CREATE INDEX index_delegation_signers_on_domain_id ON public.delegation_signers USING btree (domain_id); -- -- Name: index_directos_on_item_type_and_item_id; Type: INDEX; Schema: public; Owner: -; Tablespace: -- -CREATE INDEX index_directos_on_item_type_and_item_id ON directos USING btree (item_type, item_id); +CREATE INDEX index_directos_on_item_type_and_item_id ON public.directos USING btree (item_type, item_id); -- -- Name: index_dnskeys_on_delegation_signer_id; Type: INDEX; Schema: public; Owner: -; Tablespace: -- -CREATE INDEX index_dnskeys_on_delegation_signer_id ON dnskeys USING btree (delegation_signer_id); +CREATE INDEX index_dnskeys_on_delegation_signer_id ON public.dnskeys USING btree (delegation_signer_id); -- -- Name: index_dnskeys_on_domain_id; Type: INDEX; Schema: public; Owner: -; Tablespace: -- -CREATE INDEX index_dnskeys_on_domain_id ON dnskeys USING btree (domain_id); +CREATE INDEX index_dnskeys_on_domain_id ON public.dnskeys USING btree (domain_id); -- -- Name: index_dnskeys_on_legacy_domain_id; Type: INDEX; Schema: public; Owner: -; Tablespace: -- -CREATE INDEX index_dnskeys_on_legacy_domain_id ON dnskeys USING btree (legacy_domain_id); +CREATE INDEX index_dnskeys_on_legacy_domain_id ON public.dnskeys USING btree (legacy_domain_id); -- -- Name: index_domain_contacts_on_contact_id; Type: INDEX; Schema: public; Owner: -; Tablespace: -- -CREATE INDEX index_domain_contacts_on_contact_id ON domain_contacts USING btree (contact_id); +CREATE INDEX index_domain_contacts_on_contact_id ON public.domain_contacts USING btree (contact_id); -- -- Name: index_domain_contacts_on_domain_id; Type: INDEX; Schema: public; Owner: -; Tablespace: -- -CREATE INDEX index_domain_contacts_on_domain_id ON domain_contacts USING btree (domain_id); +CREATE INDEX index_domain_contacts_on_domain_id ON public.domain_contacts USING btree (domain_id); -- -- Name: index_domain_transfers_on_domain_id; Type: INDEX; Schema: public; Owner: -; Tablespace: -- -CREATE INDEX index_domain_transfers_on_domain_id ON domain_transfers USING btree (domain_id); +CREATE INDEX index_domain_transfers_on_domain_id ON public.domain_transfers USING btree (domain_id); -- -- Name: index_domains_on_delete_at; Type: INDEX; Schema: public; Owner: -; Tablespace: -- -CREATE INDEX index_domains_on_delete_at ON domains USING btree (delete_at); +CREATE INDEX index_domains_on_delete_at ON public.domains USING btree (delete_at); -- -- Name: index_domains_on_name; Type: INDEX; Schema: public; Owner: -; Tablespace: -- -CREATE UNIQUE INDEX index_domains_on_name ON domains USING btree (name); +CREATE UNIQUE INDEX index_domains_on_name ON public.domains USING btree (name); -- -- Name: index_domains_on_outzone_at; Type: INDEX; Schema: public; Owner: -; Tablespace: -- -CREATE INDEX index_domains_on_outzone_at ON domains USING btree (outzone_at); +CREATE INDEX index_domains_on_outzone_at ON public.domains USING btree (outzone_at); -- -- Name: index_domains_on_registrant_id; Type: INDEX; Schema: public; Owner: -; Tablespace: -- -CREATE INDEX index_domains_on_registrant_id ON domains USING btree (registrant_id); +CREATE INDEX index_domains_on_registrant_id ON public.domains USING btree (registrant_id); -- -- Name: index_domains_on_registrant_verification_asked_at; Type: INDEX; Schema: public; Owner: -; Tablespace: -- -CREATE INDEX index_domains_on_registrant_verification_asked_at ON domains USING btree (registrant_verification_asked_at); +CREATE INDEX index_domains_on_registrant_verification_asked_at ON public.domains USING btree (registrant_verification_asked_at); -- -- Name: index_domains_on_registrant_verification_token; Type: INDEX; Schema: public; Owner: -; Tablespace: -- -CREATE INDEX index_domains_on_registrant_verification_token ON domains USING btree (registrant_verification_token); +CREATE INDEX index_domains_on_registrant_verification_token ON public.domains USING btree (registrant_verification_token); -- -- Name: index_domains_on_registrar_id; Type: INDEX; Schema: public; Owner: -; Tablespace: -- -CREATE INDEX index_domains_on_registrar_id ON domains USING btree (registrar_id); +CREATE INDEX index_domains_on_registrar_id ON public.domains USING btree (registrar_id); -- -- Name: index_domains_on_statuses; Type: INDEX; Schema: public; Owner: -; Tablespace: -- -CREATE INDEX index_domains_on_statuses ON domains USING gin (statuses); +CREATE INDEX index_domains_on_statuses ON public.domains USING gin (statuses); -- -- Name: index_epp_sessions_on_updated_at; Type: INDEX; Schema: public; Owner: -; Tablespace: -- -CREATE INDEX index_epp_sessions_on_updated_at ON 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: -; Tablespace: -- -CREATE INDEX index_invoice_items_on_invoice_id ON 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: -; Tablespace: -- -CREATE INDEX index_invoices_on_buyer_id ON invoices USING btree (buyer_id); +CREATE INDEX index_invoices_on_buyer_id ON public.invoices USING btree (buyer_id); -- -- Name: index_invoices_on_seller_id; Type: INDEX; Schema: public; Owner: -; Tablespace: -- -CREATE INDEX index_invoices_on_seller_id ON invoices USING btree (seller_id); +CREATE INDEX index_invoices_on_seller_id ON public.invoices USING btree (seller_id); -- -- Name: index_keyrelays_on_accepter_id; Type: INDEX; Schema: public; Owner: -; Tablespace: -- -CREATE INDEX index_keyrelays_on_accepter_id ON keyrelays USING btree (accepter_id); +CREATE INDEX index_keyrelays_on_accepter_id ON public.keyrelays USING btree (accepter_id); -- -- Name: index_keyrelays_on_domain_id; Type: INDEX; Schema: public; Owner: -; Tablespace: -- -CREATE INDEX index_keyrelays_on_domain_id ON keyrelays USING btree (domain_id); +CREATE INDEX index_keyrelays_on_domain_id ON public.keyrelays USING btree (domain_id); -- -- Name: index_keyrelays_on_requester_id; Type: INDEX; Schema: public; Owner: -; Tablespace: -- -CREATE INDEX index_keyrelays_on_requester_id ON keyrelays USING btree (requester_id); +CREATE INDEX index_keyrelays_on_requester_id ON public.keyrelays USING btree (requester_id); -- -- Name: index_legal_documents_on_checksum; Type: INDEX; Schema: public; Owner: -; Tablespace: -- -CREATE INDEX index_legal_documents_on_checksum ON 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: -; Tablespace: -- -CREATE INDEX index_legal_documents_on_documentable_type_and_documentable_id ON 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: -; Tablespace: -- -CREATE INDEX index_log_account_activities_on_item_type_and_item_id ON 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: -; Tablespace: -- -CREATE INDEX index_log_account_activities_on_whodunnit ON 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: -; Tablespace: -- -CREATE INDEX index_log_accounts_on_item_type_and_item_id ON 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: -; Tablespace: -- -CREATE INDEX index_log_accounts_on_whodunnit ON 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: -; Tablespace: -- -CREATE INDEX index_log_bank_statements_on_item_type_and_item_id ON 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: -; Tablespace: -- -CREATE INDEX index_log_bank_statements_on_whodunnit ON 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: -; Tablespace: -- -CREATE INDEX index_log_bank_transactions_on_item_type_and_item_id ON 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: -; Tablespace: -- -CREATE INDEX index_log_bank_transactions_on_whodunnit ON 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: -; Tablespace: -- -CREATE INDEX index_log_blocked_domains_on_item_type_and_item_id ON 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: -; Tablespace: -- -CREATE INDEX index_log_blocked_domains_on_whodunnit ON 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: -; Tablespace: -- -CREATE INDEX index_log_certificates_on_item_type_and_item_id ON 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: -; Tablespace: -- -CREATE INDEX index_log_certificates_on_whodunnit ON 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: -; Tablespace: -- -CREATE INDEX index_log_contacts_on_item_type_and_item_id ON 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: -; Tablespace: -- -CREATE INDEX index_log_contacts_on_whodunnit ON 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: -; Tablespace: -- -CREATE INDEX index_log_dnskeys_on_item_type_and_item_id ON 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: -; Tablespace: -- -CREATE INDEX index_log_dnskeys_on_whodunnit ON 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: -; Tablespace: -- -CREATE INDEX index_log_domain_contacts_on_item_type_and_item_id ON 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: -; Tablespace: -- -CREATE INDEX index_log_domain_contacts_on_whodunnit ON 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: -; Tablespace: -- -CREATE INDEX index_log_domains_on_item_type_and_item_id ON 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: -; Tablespace: -- -CREATE INDEX index_log_domains_on_whodunnit ON 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: -; Tablespace: -- -CREATE INDEX index_log_invoice_items_on_item_type_and_item_id ON 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: -; Tablespace: -- -CREATE INDEX index_log_invoice_items_on_whodunnit ON 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: -; Tablespace: -- -CREATE INDEX index_log_invoices_on_item_type_and_item_id ON 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: -; Tablespace: -- -CREATE INDEX index_log_invoices_on_whodunnit ON log_invoices USING btree (whodunnit); +CREATE INDEX index_log_invoices_on_whodunnit ON public.log_invoices USING btree (whodunnit); -- -- Name: index_log_keyrelays_on_item_type_and_item_id; Type: INDEX; Schema: public; Owner: -; Tablespace: -- -CREATE INDEX index_log_keyrelays_on_item_type_and_item_id ON log_keyrelays USING btree (item_type, item_id); +CREATE INDEX index_log_keyrelays_on_item_type_and_item_id ON public.log_keyrelays USING btree (item_type, item_id); -- -- Name: index_log_keyrelays_on_whodunnit; Type: INDEX; Schema: public; Owner: -; Tablespace: -- -CREATE INDEX index_log_keyrelays_on_whodunnit ON log_keyrelays USING btree (whodunnit); +CREATE INDEX index_log_keyrelays_on_whodunnit ON public.log_keyrelays USING btree (whodunnit); -- -- Name: index_log_messages_on_item_type_and_item_id; Type: INDEX; Schema: public; Owner: -; Tablespace: -- -CREATE INDEX index_log_messages_on_item_type_and_item_id ON log_messages USING btree (item_type, item_id); +CREATE INDEX index_log_messages_on_item_type_and_item_id ON public.log_messages USING btree (item_type, item_id); -- -- Name: index_log_messages_on_whodunnit; Type: INDEX; Schema: public; Owner: -; Tablespace: -- -CREATE INDEX index_log_messages_on_whodunnit ON log_messages USING btree (whodunnit); +CREATE INDEX index_log_messages_on_whodunnit ON public.log_messages USING btree (whodunnit); -- -- 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 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: -; Tablespace: -- -CREATE INDEX index_log_nameservers_on_whodunnit ON log_nameservers USING btree (whodunnit); +CREATE INDEX index_log_nameservers_on_whodunnit ON public.log_nameservers USING btree (whodunnit); -- -- 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 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: -; Tablespace: -- -CREATE INDEX index_log_registrars_on_whodunnit ON 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: -; Tablespace: -- -CREATE INDEX index_log_reserved_domains_on_item_type_and_item_id ON 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: -; Tablespace: -- -CREATE INDEX index_log_reserved_domains_on_whodunnit ON 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: -; Tablespace: -- -CREATE INDEX index_log_settings_on_item_type_and_item_id ON 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: -; Tablespace: -- -CREATE INDEX index_log_settings_on_whodunnit ON 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: -; Tablespace: -- -CREATE INDEX index_log_users_on_item_type_and_item_id ON 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: -; Tablespace: -- -CREATE INDEX index_log_users_on_whodunnit ON log_users USING btree (whodunnit); +CREATE INDEX index_log_users_on_whodunnit ON public.log_users USING btree (whodunnit); -- -- Name: index_messages_on_registrar_id; Type: INDEX; Schema: public; Owner: -; Tablespace: -- -CREATE INDEX index_messages_on_registrar_id ON messages USING btree (registrar_id); +CREATE INDEX index_messages_on_registrar_id ON public.messages USING btree (registrar_id); -- -- Name: index_nameservers_on_domain_id; Type: INDEX; Schema: public; Owner: -; Tablespace: -- -CREATE INDEX index_nameservers_on_domain_id ON nameservers USING btree (domain_id); +CREATE INDEX index_nameservers_on_domain_id ON public.nameservers USING btree (domain_id); -- -- Name: index_prices_on_zone_id; Type: INDEX; Schema: public; Owner: -; Tablespace: -- -CREATE INDEX index_prices_on_zone_id ON 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: -; Tablespace: -- -CREATE INDEX index_registrant_verifications_on_created_at ON 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: -; Tablespace: -- -CREATE INDEX index_registrant_verifications_on_domain_id ON 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: -; Tablespace: -- -CREATE UNIQUE INDEX index_settings_on_thing_type_and_thing_id_and_var ON 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: -; Tablespace: -- -CREATE INDEX index_users_on_identity_code ON 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: -; Tablespace: -- -CREATE INDEX index_users_on_registrar_id ON users USING btree (registrar_id); +CREATE INDEX index_users_on_registrar_id ON public.users USING btree (registrar_id); -- -- Name: index_whois_records_on_domain_id; Type: INDEX; Schema: public; Owner: -; Tablespace: -- -CREATE INDEX index_whois_records_on_domain_id ON 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: -; Tablespace: -- -CREATE INDEX index_whois_records_on_registrar_id ON 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: -; Tablespace: -- -CREATE INDEX log_contacts_object_legacy_id ON 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: -; Tablespace: -- -CREATE INDEX log_dnskeys_object_legacy_id ON 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: -; Tablespace: -- -CREATE INDEX log_domains_object_legacy_id ON 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: -; Tablespace: -- -CREATE INDEX log_nameservers_object_legacy_id ON 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_schema_migrations; Type: INDEX; Schema: public; Owner: -; Tablespace: -- -CREATE UNIQUE INDEX unique_schema_migrations ON schema_migrations USING btree (version); +CREATE UNIQUE INDEX unique_schema_migrations ON public.schema_migrations USING btree (version); -- -- Name: contacts_registrar_id_fk; Type: FK CONSTRAINT; Schema: public; Owner: - -- -ALTER TABLE ONLY contacts - ADD CONSTRAINT contacts_registrar_id_fk FOREIGN KEY (registrar_id) REFERENCES registrars(id); +ALTER TABLE ONLY public.contacts + ADD CONSTRAINT contacts_registrar_id_fk FOREIGN KEY (registrar_id) REFERENCES public.registrars(id); -- -- Name: domain_contacts_contact_id_fk; Type: FK CONSTRAINT; Schema: public; Owner: - -- -ALTER TABLE ONLY domain_contacts - ADD CONSTRAINT domain_contacts_contact_id_fk FOREIGN KEY (contact_id) REFERENCES contacts(id); +ALTER TABLE ONLY public.domain_contacts + ADD CONSTRAINT domain_contacts_contact_id_fk FOREIGN KEY (contact_id) REFERENCES public.contacts(id); -- -- Name: domain_contacts_domain_id_fk; Type: FK CONSTRAINT; Schema: public; Owner: - -- -ALTER TABLE ONLY domain_contacts - ADD CONSTRAINT domain_contacts_domain_id_fk FOREIGN KEY (domain_id) REFERENCES domains(id); +ALTER TABLE ONLY public.domain_contacts + ADD CONSTRAINT domain_contacts_domain_id_fk FOREIGN KEY (domain_id) REFERENCES public.domains(id); -- -- Name: domains_registrant_id_fk; Type: FK CONSTRAINT; Schema: public; Owner: - -- -ALTER TABLE ONLY domains - ADD CONSTRAINT domains_registrant_id_fk FOREIGN KEY (registrant_id) REFERENCES contacts(id); +ALTER TABLE ONLY public.domains + ADD CONSTRAINT domains_registrant_id_fk FOREIGN KEY (registrant_id) REFERENCES public.contacts(id); -- -- Name: domains_registrar_id_fk; Type: FK CONSTRAINT; Schema: public; Owner: - -- -ALTER TABLE ONLY domains - ADD CONSTRAINT domains_registrar_id_fk FOREIGN KEY (registrar_id) REFERENCES registrars(id); +ALTER TABLE ONLY public.domains + ADD CONSTRAINT domains_registrar_id_fk FOREIGN KEY (registrar_id) REFERENCES public.registrars(id); -- -- Name: fk_rails_59c422f73d; Type: FK CONSTRAINT; Schema: public; Owner: - -- -ALTER TABLE ONLY domain_transfers - ADD CONSTRAINT fk_rails_59c422f73d FOREIGN KEY (old_registrar_id) REFERENCES registrars(id); +ALTER TABLE ONLY public.domain_transfers + ADD CONSTRAINT fk_rails_59c422f73d FOREIGN KEY (old_registrar_id) REFERENCES public.registrars(id); -- -- Name: fk_rails_78c376257f; Type: FK CONSTRAINT; Schema: public; Owner: - -- -ALTER TABLE ONLY prices - ADD CONSTRAINT fk_rails_78c376257f FOREIGN KEY (zone_id) REFERENCES zones(id); +ALTER TABLE ONLY public.prices + ADD CONSTRAINT fk_rails_78c376257f FOREIGN KEY (zone_id) REFERENCES public.zones(id); -- -- Name: fk_rails_833ed7f3c0; Type: FK CONSTRAINT; Schema: public; Owner: - -- -ALTER TABLE ONLY domain_transfers - ADD CONSTRAINT fk_rails_833ed7f3c0 FOREIGN KEY (new_registrar_id) REFERENCES registrars(id); +ALTER TABLE ONLY public.domain_transfers + ADD CONSTRAINT fk_rails_833ed7f3c0 FOREIGN KEY (new_registrar_id) REFERENCES public.registrars(id); -- -- Name: fk_rails_86cd2b09f5; Type: FK CONSTRAINT; Schema: public; Owner: - -- -ALTER TABLE ONLY account_activities - ADD CONSTRAINT fk_rails_86cd2b09f5 FOREIGN KEY (account_id) REFERENCES accounts(id); +ALTER TABLE ONLY public.account_activities + ADD CONSTRAINT fk_rails_86cd2b09f5 FOREIGN KEY (account_id) REFERENCES public.accounts(id); -- -- Name: fk_rails_87b8e40c63; Type: FK CONSTRAINT; Schema: public; Owner: - -- -ALTER TABLE ONLY domain_transfers - ADD CONSTRAINT fk_rails_87b8e40c63 FOREIGN KEY (domain_id) REFERENCES domains(id); +ALTER TABLE ONLY public.domain_transfers + ADD CONSTRAINT fk_rails_87b8e40c63 FOREIGN KEY (domain_id) REFERENCES public.domains(id); -- -- Name: fk_rails_adff2dc8e3; Type: FK CONSTRAINT; Schema: public; Owner: - -- -ALTER TABLE ONLY epp_sessions - ADD CONSTRAINT fk_rails_adff2dc8e3 FOREIGN KEY (user_id) REFERENCES users(id); +ALTER TABLE ONLY public.epp_sessions + ADD CONSTRAINT fk_rails_adff2dc8e3 FOREIGN KEY (user_id) REFERENCES public.users(id); -- -- Name: fk_rails_b80dbb973d; Type: FK CONSTRAINT; Schema: public; Owner: - -- -ALTER TABLE ONLY account_activities - ADD CONSTRAINT fk_rails_b80dbb973d FOREIGN KEY (bank_transaction_id) REFERENCES bank_transactions(id); +ALTER TABLE ONLY public.account_activities + ADD CONSTRAINT fk_rails_b80dbb973d FOREIGN KEY (bank_transaction_id) REFERENCES public.bank_transactions(id); -- -- Name: fk_rails_c9f635c0b3; Type: FK CONSTRAINT; Schema: public; Owner: - -- -ALTER TABLE ONLY accounts - ADD CONSTRAINT fk_rails_c9f635c0b3 FOREIGN KEY (registrar_id) REFERENCES registrars(id); +ALTER TABLE ONLY public.accounts + ADD CONSTRAINT fk_rails_c9f635c0b3 FOREIGN KEY (registrar_id) REFERENCES public.registrars(id); -- -- Name: fk_rails_ce38d749f6; Type: FK CONSTRAINT; Schema: public; Owner: - -- -ALTER TABLE ONLY account_activities - ADD CONSTRAINT fk_rails_ce38d749f6 FOREIGN KEY (invoice_id) REFERENCES invoices(id); +ALTER TABLE ONLY public.account_activities + ADD CONSTRAINT fk_rails_ce38d749f6 FOREIGN KEY (invoice_id) REFERENCES public.invoices(id); -- -- Name: fk_rails_d2cc3c2fa9; Type: FK CONSTRAINT; Schema: public; Owner: - -- -ALTER TABLE ONLY account_activities - ADD CONSTRAINT fk_rails_d2cc3c2fa9 FOREIGN KEY (price_id) REFERENCES prices(id); +ALTER TABLE ONLY public.account_activities + ADD CONSTRAINT fk_rails_d2cc3c2fa9 FOREIGN KEY (price_id) REFERENCES public.prices(id); -- -- Name: messages_registrar_id_fk; Type: FK CONSTRAINT; Schema: public; Owner: - -- -ALTER TABLE ONLY messages - ADD CONSTRAINT messages_registrar_id_fk FOREIGN KEY (registrar_id) REFERENCES registrars(id); +ALTER TABLE ONLY public.messages + ADD CONSTRAINT messages_registrar_id_fk FOREIGN KEY (registrar_id) REFERENCES public.registrars(id); -- -- Name: nameservers_domain_id_fk; Type: FK CONSTRAINT; Schema: public; Owner: - -- -ALTER TABLE ONLY nameservers - ADD CONSTRAINT nameservers_domain_id_fk FOREIGN KEY (domain_id) REFERENCES domains(id); +ALTER TABLE ONLY public.nameservers + ADD CONSTRAINT nameservers_domain_id_fk FOREIGN KEY (domain_id) REFERENCES public.domains(id); -- -- Name: user_registrar_id_fk; Type: FK CONSTRAINT; Schema: public; Owner: - -- -ALTER TABLE ONLY users - ADD CONSTRAINT user_registrar_id_fk FOREIGN KEY (registrar_id) REFERENCES registrars(id); +ALTER TABLE ONLY public.users + ADD CONSTRAINT user_registrar_id_fk FOREIGN KEY (registrar_id) REFERENCES public.registrars(id); -- @@ -4716,3 +4747,13 @@ INSERT INTO schema_migrations (version) VALUES ('20180327151906'); INSERT INTO schema_migrations (version) VALUES ('20180331200125'); +INSERT INTO schema_migrations (version) VALUES ('20180612042234'); + +INSERT INTO schema_migrations (version) VALUES ('20180612042625'); + +INSERT INTO schema_migrations (version) VALUES ('20180612042953'); + +INSERT INTO schema_migrations (version) VALUES ('20180613030330'); + +INSERT INTO schema_migrations (version) VALUES ('20180613045614'); + diff --git a/doc/repp/v1/nameservers.md b/doc/repp/v1/nameservers.md index 702a0c186..8190530d7 100644 --- a/doc/repp/v1/nameservers.md +++ b/doc/repp/v1/nameservers.md @@ -34,8 +34,9 @@ Content-Type: application/json "hostname": "new-ns1.example.com", "ipv4": ["192.0.2.1", "192.0.2.2"], "ipv6": ["2001:db8::1", "2001:db8::2"] - }, - } + } + }, + "affected_domains": ["example.com", "example.org"] } ``` diff --git a/docker-compose.yml b/docker-compose.yml deleted file mode 100644 index 5c5f523de..000000000 --- a/docker-compose.yml +++ /dev/null @@ -1,33 +0,0 @@ -version: "3.2" - -services: - app: - tty: true - stdin_open: true - build: - context: . - dockerfile: Dockerfile - links: - - db - environment: - - APP_DBHOST=db - volumes: - - .:/opt/webapps/app - ports: - - "3000:3000" - command: bash -c "rm -f tmp/pids/server.pid && bundle exec rails server -p 3000 -b '0.0.0.0'" - - web: - image: nginx - volumes: - - ./docker/nginx.template:/etc/nginx/conf.d/nginx.template - ports: - - "80:80" - links: - - app - environment: - APP: 'app' - command: /bin/bash -c "envsubst '$$APP' < /etc/nginx/conf.d/nginx.template > /etc/nginx/conf.d/default.conf && nginx -g 'daemon off;'" - - db: - image: postgres:9.4 diff --git a/docker/docker_dev.sh b/docker/docker_dev.sh deleted file mode 100755 index f5592517f..000000000 --- a/docker/docker_dev.sh +++ /dev/null @@ -1,6 +0,0 @@ -# /bin/sh -docker-compose down -docker-compose build -docker-compose run app rake db:setup:all -docker-compose run app rake db:migrate -docker-compose run app rake dev:prime diff --git a/docker/docker_test.sh b/docker/docker_test.sh deleted file mode 100755 index 7239f78a9..000000000 --- a/docker/docker_test.sh +++ /dev/null @@ -1,8 +0,0 @@ -# /bin/sh -docker-compose down -docker-compose build - -# Setup test database -docker-compose run app rake db:setup:all test -# Finally run tests to check if everything is in order -docker-compose run app rspec diff --git a/docker/nginx.template b/docker/nginx.template deleted file mode 100644 index 50f6e8548..000000000 --- a/docker/nginx.template +++ /dev/null @@ -1,29 +0,0 @@ -log_format le_json '{ "time": "$time_iso8601", ' - '"remote_addr": "$remote_addr", ' - '"remote_user": "$remote_user", ' - '"body_bytes_sent": "$body_bytes_sent", ' - '"request_time": "$request_time", ' - '"status": "$status", ' - '"request": "$request", ' - '"request_method": "$request_method", ' - '"http_referrer": "$http_referer", ' - '"http_user_agent": "$http_user_agent" }'; - -upstream app { - server ${APP}:3000; -} - -server { - listen 80; - - access_log /var/log/nginx/access.log le_json; - - location / { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $http_host; - proxy_redirect off; - proxy_pass http://app; - break; - } -} diff --git a/lib/action_controller/api.rb b/lib/action_controller/api.rb new file mode 100644 index 000000000..5a9fd4512 --- /dev/null +++ b/lib/action_controller/api.rb @@ -0,0 +1,149 @@ +# frozen_string_literal: true + +require "action_view" +require "action_controller" +require "action_controller/log_subscriber" + +module ActionController + # API Controller is a lightweight version of ActionController::Base, + # created for applications that don't require all functionalities that a complete + # \Rails controller provides, allowing you to create controllers with just the + # features that you need for API only applications. + # + # An API Controller is different from a normal controller in the sense that + # by default it doesn't include a number of features that are usually required + # by browser access only: layouts and templates rendering, cookies, sessions, + # flash, assets, and so on. This makes the entire controller stack thinner, + # suitable for API applications. It doesn't mean you won't have such + # features if you need them: they're all available for you to include in + # your application, they're just not part of the default API controller stack. + # + # Normally, +ApplicationController+ is the only controller that inherits from + # ActionController::API. All other controllers in turn inherit from + # +ApplicationController+. + # + # A sample controller could look like this: + # + # class PostsController < ApplicationController + # def index + # posts = Post.all + # render json: posts + # end + # end + # + # Request, response, and parameters objects all work the exact same way as + # ActionController::Base. + # + # == Renders + # + # The default API Controller stack includes all renderers, which means you + # can use render :json and brothers freely in your controllers. Keep + # in mind that templates are not going to be rendered, so you need to ensure + # your controller is calling either render or redirect_to in + # all actions, otherwise it will return 204 No Content. + # + # def show + # post = Post.find(params[:id]) + # render json: post + # end + # + # == Redirects + # + # Redirects are used to move from one action to another. You can use the + # redirect_to method in your controllers in the same way as in + # ActionController::Base. For example: + # + # def create + # redirect_to root_url and return if not_authorized? + # # do stuff here + # end + # + # == Adding New Behavior + # + # In some scenarios you may want to add back some functionality provided by + # ActionController::Base that is not present by default in + # ActionController::API, for instance MimeResponds. This + # module gives you the respond_to method. Adding it is quite simple, + # you just need to include the module in a specific controller or in + # +ApplicationController+ in case you want it available in your entire + # application: + # + # class ApplicationController < ActionController::API + # include ActionController::MimeResponds + # end + # + # class PostsController < ApplicationController + # def index + # posts = Post.all + # + # respond_to do |format| + # format.json { render json: posts } + # format.xml { render xml: posts } + # end + # end + # end + # + # Make sure to check the modules included in ActionController::Base + # if you want to use any other functionality that is not provided + # by ActionController::API out of the box. + class API < Metal + abstract! + + # Shortcut helper that returns all the ActionController::API modules except + # the ones passed as arguments: + # + # class MyAPIBaseController < ActionController::Metal + # ActionController::API.without_modules(:ForceSSL, :UrlFor).each do |left| + # include left + # end + # end + # + # This gives better control over what you want to exclude and makes it easier + # to create an API controller class, instead of listing the modules required + # manually. + def self.without_modules(*modules) + modules = modules.map do |m| + m.is_a?(Symbol) ? ActionController.const_get(m) : m + end + + MODULES - modules + end + + MODULES = [ + AbstractController::Rendering, + + UrlFor, + Redirecting, + ApiRendering, + Renderers::All, + ConditionalGet, + BasicImplicitRender, + StrongParameters, + + ForceSSL, + DataStreaming, + + # Before callbacks should also be executed as early as possible, so + # also include them at the bottom. + AbstractController::Callbacks, + + # Append rescue at the bottom to wrap as much as possible. + Rescue, + + # Add instrumentations hooks at the bottom, to ensure they instrument + # all the methods properly. + Instrumentation, + + # Params wrapper should come before instrumentation so they are + # properly showed in logs + ParamsWrapper + ] + + MODULES.each do |mod| + include mod + end + + ActiveSupport.run_load_hooks(:action_controller_api, self) + ActiveSupport.run_load_hooks(:action_controller, self) + end +end diff --git a/lib/action_controller/api/api_rendering.rb b/lib/action_controller/api/api_rendering.rb new file mode 100644 index 000000000..52e9f60fc --- /dev/null +++ b/lib/action_controller/api/api_rendering.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +module ActionController + module ApiRendering + extend ActiveSupport::Concern + + included do + include Rendering + end + + def render_to_body(options = {}) + _process_options(options) + super + end + end +end \ No newline at end of file diff --git a/lib/action_controller/metal/basic_implicit_render.rb b/lib/action_controller/metal/basic_implicit_render.rb new file mode 100644 index 000000000..9030ea585 --- /dev/null +++ b/lib/action_controller/metal/basic_implicit_render.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module ActionController + module BasicImplicitRender # :nodoc: + def send_action(method, *args) + super.tap { default_render unless performed? } + end + + def default_render(*args) + head :no_content + end + end +end \ No newline at end of file diff --git a/lib/gem_ext/paper_trail.rb b/lib/gem_ext/paper_trail.rb index 200e71d48..c8454e550 100644 --- a/lib/gem_ext/paper_trail.rb +++ b/lib/gem_ext/paper_trail.rb @@ -6,7 +6,7 @@ PaperTrail::Version.module_eval do end # Store console and rake changes in versions -if defined?(::Rails::Console) || File.basename($PROGRAM_NAME).split(' ').first == 'spring' +if defined?(::Rails::Console) PaperTrail.whodunnit = "console-#{`whoami`.strip}" elsif File.basename($PROGRAM_NAME) == 'rake' # rake username does not work when spring enabled diff --git a/lib/rails5_api_controller_backport.rb b/lib/rails5_api_controller_backport.rb new file mode 100644 index 000000000..252332488 --- /dev/null +++ b/lib/rails5_api_controller_backport.rb @@ -0,0 +1,3 @@ +require_relative 'action_controller/metal/basic_implicit_render' +require_relative 'action_controller/api/api_rendering' +require_relative 'action_controller/api' \ No newline at end of file diff --git a/spec/features/registrar/sign_in/mobile_id_spec.rb b/spec/features/registrar/sign_in/mobile_id_spec.rb deleted file mode 100644 index bc26daff5..000000000 --- a/spec/features/registrar/sign_in/mobile_id_spec.rb +++ /dev/null @@ -1,20 +0,0 @@ -require 'rails_helper' - -RSpec.feature 'Mobile ID login', db: true do - given!(:api_user) { create(:api_user, identity_code: 1234) } - - background do - digidoc_client = instance_double(Digidoc::Client, authenticate: OpenStruct.new(user_id_code: 1234), session_code: 1234) - allow(Digidoc::Client).to receive(:new).and_return(digidoc_client) - end - - scenario 'login with phone number' do - visit registrar_login_path - click_on 'login-with-mobile-id-btn' - - fill_in 'user[phone]', with: '1234' - click_button 'Login' - - expect(page).to have_text('Confirmation sms was sent to your phone. Verification code is') - end -end diff --git a/spec/jobs/domain_delete_confirm_email_job_spec.rb b/spec/jobs/domain_delete_confirm_email_job_spec.rb deleted file mode 100644 index 0b2a0a6b7..000000000 --- a/spec/jobs/domain_delete_confirm_email_job_spec.rb +++ /dev/null @@ -1,40 +0,0 @@ -require 'rails_helper' - -RSpec.describe DomainDeleteConfirmEmailJob do - describe '#run' do - let(:domain) { instance_double(Domain) } - let(:message) { instance_double(ActionMailer::MessageDelivery) } - - before :example do - expect(Domain).to receive(:find).and_return(domain) - allow(domain).to receive_messages( - id: 1, - name: 'test.com', - registrant_email: 'registrant@test.com', - registrar: 'registrar', - registrant: 'registrant') - end - - after :example do - domain_id = 1 - described_class.enqueue(domain_id) - end - - it 'creates log record' do - log_message = 'Send DomainDeleteMailer#confirm email for domain test.com (#1) to registrant@test.com' - - allow(DomainDeleteMailer).to receive(:confirm).and_return(message) - allow(message).to receive(:deliver_now) - - expect(Rails.logger).to receive(:info).with(log_message) - end - - it 'sends email' do - expect(DomainDeleteMailer).to receive(:confirm).with(domain: domain, - registrar: 'registrar', - registrant: 'registrant') - .and_return(message) - expect(message).to receive(:deliver_now) - end - end -end diff --git a/spec/jobs/domain_update_confirm_job_spec.rb b/spec/jobs/domain_update_confirm_job_spec.rb deleted file mode 100644 index 4748ca021..000000000 --- a/spec/jobs/domain_update_confirm_job_spec.rb +++ /dev/null @@ -1,18 +0,0 @@ -require 'rails_helper' - -RSpec.describe DomainUpdateConfirmJob do - let(:domain) { instance_spy(Epp::Domain, registrant: registrant, errors: []) } - let(:registrant) { instance_double(Registrant) } - let(:registrant_change) { instance_spy(RegistrantChange) } - - it 'confirms registrant change' do - expect(Epp::Domain).to receive(:find).and_return(domain) - expect(RegistrantChange).to receive(:new) - .with(domain: domain, old_registrant: registrant) - .and_return(registrant_change) - - described_class.enqueue(domain_id = nil, action = RegistrantVerification::CONFIRMED) - - expect(registrant_change).to have_received(:confirm) - end -end diff --git a/spec/rails_helper.rb b/spec/rails_helper.rb index c6110a8c2..aead0dfa5 100644 --- a/spec/rails_helper.rb +++ b/spec/rails_helper.rb @@ -2,7 +2,6 @@ ENV['RAILS_ENV'] ||= 'test' require 'spec_helper' require File.expand_path('../../config/environment', __FILE__) require 'rspec/rails' -require 'capybara/poltergeist' require 'paper_trail/frameworks/rspec' require 'money-rails/test_helpers' require 'support/requests/session_helpers' diff --git a/spec/support/capybara.rb b/spec/support/capybara.rb index 7ef5009c6..5434f1a84 100644 --- a/spec/support/capybara.rb +++ b/spec/support/capybara.rb @@ -4,5 +4,3 @@ RSpec.configure do |config| config.include CapybaraViewMacros, type: :view config.include CapybaraViewMacros, type: :presenter end - -Capybara.javascript_driver = :poltergeist diff --git a/test/application_system_test_case.rb b/test/application_system_test_case.rb new file mode 100644 index 000000000..6c06ef937 --- /dev/null +++ b/test/application_system_test_case.rb @@ -0,0 +1,42 @@ +require 'test_helper' + +require 'database_cleaner' +require 'selenium/webdriver' + +class ApplicationSystemTestCase < ActionDispatch::IntegrationTest; end + +class JavaScriptApplicationSystemTestCase < ApplicationSystemTestCase + self.use_transactional_fixtures = false + DatabaseCleaner.strategy = :truncation + + Capybara.register_driver(:chrome) do |_app| + options = ::Selenium::WebDriver::Chrome::Options.new + + options.add_argument('--headless') + options.add_argument('--no-sandbox') + options.add_argument('--disable-dev-shm-usage') + options.add_argument('--window-size=1400,1400') + + Capybara::Selenium::Driver.new(Rails.application, browser: :chrome, options: options) + end + + Capybara.register_server(:silent_puma) do |app, port, _host| + require 'rack/handler/puma' + Rack::Handler::Puma.run(app, Port: port, Threads: '0:2', Silent: true) + end + + def setup + DatabaseCleaner.start + + super + + Capybara.current_driver = :chrome + Capybara.server = :silent_puma + end + + def teardown + super + + DatabaseCleaner.clean + end +end diff --git a/test/fixtures/contacts.yml b/test/fixtures/contacts.yml index b64dce039..1f2e4b8da 100644 --- a/test/fixtures/contacts.yml +++ b/test/fixtures/contacts.yml @@ -8,6 +8,7 @@ john: registrar: bestnames code: john-001 auth_info: cacb5b + uuid: eb2f2766-b44c-4e14-9f16-32ab1a7cb957 william: &william name: William @@ -27,6 +28,7 @@ william: &william country_code: US statuses: - ok + uuid: 0aa54704-d6f7-4ca9-b8ca-2827d9a4e4eb jane: name: Jane @@ -38,6 +40,7 @@ jane: registrar: bestnames code: jane-001 auth_info: 0aa09f + uuid: 9db3de62-2414-4487-bee2-d5c155567768 acme_ltd: name: Acme Ltd @@ -49,6 +52,7 @@ acme_ltd: ident_country_code: US code: acme-ltd-001 auth_info: 720b3c + uuid: f1dd365c-5be9-4b3d-a44e-3fa002465e4d jack: name: Jack @@ -60,12 +64,14 @@ jack: ident_country_code: US code: jack-001 auth_info: e2c440 + uuid: 28b65455-6f1a-49fd-961c-0758886dbd75 identical_to_william: <<: *william registrar: goodnames code: william-002 auth_info: 5ab865 + uuid: c0a191d5-3793-4f0b-8f85-491612d0293e not_in_use: name: Useless @@ -73,6 +79,7 @@ not_in_use: registrar: bestnames code: useless-001 auth_info: e75a2a + uuid: ca613cc5-a8dc-48c1-8d32-d3c6a0b6c952 invalid: name: any @@ -80,3 +87,4 @@ invalid: email: invalid@invalid.test auth_info: any registrar: bestnames + uuid: bd80c0f9-26ee-49e0-a2cb-2311d931c433 \ No newline at end of file diff --git a/test/fixtures/domains.yml b/test/fixtures/domains.yml index 53de2837b..59a1b8ea5 100644 --- a/test/fixtures/domains.yml +++ b/test/fixtures/domains.yml @@ -7,6 +7,7 @@ shop: valid_to: 2010-07-05 period: 1 period_unit: m + uuid: 1b3ee442-e8fe-4922-9492-8fcb9dccc69c airport: name: airport.test @@ -17,6 +18,7 @@ airport: valid_to: 2010-07-05 period: 1 period_unit: m + uuid: 2df2c1a1-8f6a-490a-81be-8bdf29866880 library: name: library.test @@ -27,6 +29,7 @@ library: valid_to: 2010-07-05 period: 1 period_unit: m + uuid: 647bcc48-8d5e-4a04-8ce5-2a3cd17b6eab metro: name: metro.test @@ -37,6 +40,7 @@ metro: valid_to: 2010-07-05 period: 1 period_unit: m + uuid: ef97cb80-333b-4893-b9df-163f2b452798 invalid: name: invalid.test @@ -44,3 +48,4 @@ invalid: valid_to: <%= Time.zone.parse('2010-07-05').utc.to_s(:db) %> registrar: bestnames registrant: invalid + uuid: 3c430ead-bb17-4b5b-aaa1-caa7dde7e138 \ No newline at end of file diff --git a/test/fixtures/invoices.yml b/test/fixtures/invoices.yml index 71189f6b6..6b9359343 100644 --- a/test/fixtures/invoices.yml +++ b/test/fixtures/invoices.yml @@ -35,5 +35,4 @@ overdue: for_payments_test: <<: *DEFAULTS total: 12.00 - id: 1 number: 1 diff --git a/test/fixtures/whois_records.yml b/test/fixtures/whois_records.yml new file mode 100644 index 000000000..0cdd25431 --- /dev/null +++ b/test/fixtures/whois_records.yml @@ -0,0 +1,6 @@ +shop: + name: shop.test + domain: shop + body: WHOIS text + json: + name: shop.test diff --git a/test/integration/api/nameservers/put_test.rb b/test/integration/api/nameservers/put_test.rb index 416510541..0967a1169 100644 --- a/test/integration/api/nameservers/put_test.rb +++ b/test/integration/api/nameservers/put_test.rb @@ -41,11 +41,12 @@ class APINameserversPutTest < ActionDispatch::IntegrationTest assert_equal nameserver_hash, nameservers(:metro_ns1).reload.attributes end - def test_returns_new_nameserver_record + def test_returns_new_nameserver_record_and_affected_domain request_params = { format: :json, data: { type: 'nameserver', id: 'ns1.bestnames.test', attributes: { hostname: 'ns55.bestnames.test', ipv4: ['192.0.2.55'], ipv6: ['2001:db8::55'] } } } + put '/repp/v1/registrar/nameservers', request_params, { 'HTTP_AUTHORIZATION' => http_auth_key } assert_response 200 @@ -53,7 +54,8 @@ class APINameserversPutTest < ActionDispatch::IntegrationTest id: 'ns55.bestnames.test', attributes: { hostname: 'ns55.bestnames.test', ipv4: ['192.0.2.55'], - ipv6: ['2001:db8::55'] } } }), + ipv6: ['2001:db8::55'] }}, + affected_domains: ["airport.test", "shop.test"] }), JSON.parse(response.body, symbolize_names: true) end diff --git a/test/integration/registrar/bulk_change/nameserver_test.rb b/test/integration/registrar/bulk_change/nameserver_test.rb index 20fd6617d..841e68db5 100644 --- a/test/integration/registrar/bulk_change/nameserver_test.rb +++ b/test/integration/registrar/bulk_change/nameserver_test.rb @@ -16,8 +16,8 @@ class RegistrarAreaNameserverBulkChangeTest < ActionDispatch::IntegrationTest basic_auth: ['test_goodnames', 'testtest']) .to_return(body: { data: [{ type: 'nameserver', - id: 'new-ns.bestnames.test' - }] }.to_json, status: 200) + id: 'new-ns.bestnames.test'}], + affected_domains: ["airport.test", "shop.test"]}.to_json, status: 200) visit registrar_domains_url click_link 'Bulk change' @@ -32,6 +32,7 @@ class RegistrarAreaNameserverBulkChangeTest < ActionDispatch::IntegrationTest assert_requested request_stub assert_current_path registrar_domains_path assert_text 'Nameserver have been successfully replaced' + assert_text 'Affected domains: airport.test, shop.test' end def test_fails_gracefully diff --git a/test/jobs/domain_delete_confirm_job_test.rb b/test/jobs/domain_delete_confirm_job_test.rb new file mode 100644 index 000000000..9127ca628 --- /dev/null +++ b/test/jobs/domain_delete_confirm_job_test.rb @@ -0,0 +1,36 @@ +require "test_helper" + +class DomainDeleteConfirmJobTest < ActiveSupport::TestCase + def setup + super + + @domain = domains(:shop) + @new_registrant = contacts(:william) + @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 + + def teardown + super + end + + def test_rejected_registrant_verification_polls_a_message + DomainDeleteConfirmJob.enqueue(@domain.id, RegistrantVerification::REJECTED) + + last_registrar_message = @domain.registrar.messages.last + assert_equal(last_registrar_message.attached_obj_id, @domain.id) + assert_equal(last_registrar_message.body, 'Registrant rejected domain deletion: shop.test') + end + + def test_accepted_registrant_verification_polls_a_message + DomainDeleteConfirmJob.enqueue(@domain.id, RegistrantVerification::CONFIRMED) + + last_registrar_message = @domain.registrar.messages.last + assert_equal(last_registrar_message.attached_obj_id, @domain.id) + assert_equal(last_registrar_message.body, 'Registrant confirmed domain deletion: shop.test') + end +end diff --git a/test/jobs/domain_update_confirm_job_test.rb b/test/jobs/domain_update_confirm_job_test.rb new file mode 100644 index 000000000..c507e2c98 --- /dev/null +++ b/test/jobs/domain_update_confirm_job_test.rb @@ -0,0 +1,36 @@ +require "test_helper" + +class DomainUpdateConfirmJobTest < ActiveSupport::TestCase + def setup + super + + @domain = domains(:shop) + @new_registrant = contacts(:william) + @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 + + def teardown + super + end + + def test_rejected_registrant_verification_polls_a_message + DomainUpdateConfirmJob.enqueue(@domain.id, RegistrantVerification::REJECTED) + + last_registrar_message = @domain.registrar.messages.last + assert_equal(last_registrar_message.attached_obj_id, @domain.id) + assert_equal(last_registrar_message.body, 'Registrant rejected domain update: shop.test') + end + + def test_accepted_registrant_verification_polls_a_message + DomainUpdateConfirmJob.enqueue(@domain.id, RegistrantVerification::CONFIRMED) + + last_registrar_message = @domain.registrar.messages.last + assert_equal(last_registrar_message.attached_obj_id, @domain.id) + assert_equal(last_registrar_message.body, 'Registrant confirmed domain update: shop.test') + end +end diff --git a/test/models/registrar/replace_nameservers_test.rb b/test/models/registrar/replace_nameservers_test.rb new file mode 100644 index 000000000..5bcbb83d1 --- /dev/null +++ b/test/models/registrar/replace_nameservers_test.rb @@ -0,0 +1,23 @@ +require 'test_helper' + +class ReplaceNameserversTest < ActiveSupport::TestCase + def setup + @registrar = registrars(:bestnames) + end + + def test_replace_nameservers_in_bulk_returns_sorted_domain_names + new_attributes = { hostname: 'ns-updated1.bestnames.test', ipv4: '192.0.3.1', + ipv6: '2001:db8::2' } + result = @registrar.replace_nameservers('ns1.bestnames.test', new_attributes) + + assert_equal(["airport.test", "shop.test"], result) + end + + def test_replace_nameservers_in_bulk_returns_empty_array_for_non_existent_base_nameserver + new_attributes = { hostname: 'ns-updated1.bestnames.test', ipv4: '192.0.3.1', + ipv6: '2001:db8::2' } + result = @registrar.replace_nameservers('ns3.bestnames.test', new_attributes) + + assert_equal([], result) + end +end diff --git a/test/system/registrar/sign_in_test.rb b/test/system/registrar/sign_in_test.rb new file mode 100644 index 000000000..9af5522f9 --- /dev/null +++ b/test/system/registrar/sign_in_test.rb @@ -0,0 +1,35 @@ +require 'test_helper' + +class RegistrarAreaSignInTest < JavaScriptApplicationSystemTestCase + def setup + super + WebMock.allow_net_connect! + + @user = users(:api_bestnames) + @user.identity_code = '1234' + @user.save + end + + def test_mobile_id_sign_in_page + mock_client = Minitest::Mock.new + mock_client.expect(:authenticate, + OpenStruct.new(user_id_code: '1234', challenge_id: '1234'), + [{ phone: "+3721234", + message_to_display: "Authenticating", + service_name: "Testimine" }]) + mock_client.expect(:session_code, 1234) + + Digidoc::Client.stub(:new, mock_client) do + visit registrar_login_path + + click_on 'login-with-mobile-id-btn' + + fill_in 'user[phone]', with: '1234' + click_button 'Login' + + flash_message = page.find('div.bg-success') + assert_equal('Confirmation sms was sent to your phone. Verification code is 1234.', + flash_message.text) + end + end +end diff --git a/test/test_helper.rb b/test/test_helper.rb index a55776fd2..500861f75 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -13,6 +13,8 @@ require 'capybara/minitest' require 'webmock/minitest' require 'support/rails5_assetions' # Remove once upgraded to Rails 5 +require 'application_system_test_case' + Setting.address_processing = false Setting.registry_country_code = 'US' @@ -38,4 +40,4 @@ class ActionDispatch::IntegrationTest Capybara.reset_sessions! Capybara.use_default_driver end -end \ No newline at end of file +end