mirror of
https://github.com/internetee/registry.git
synced 2025-05-19 10:49:39 +02:00
Merge branch 'master' of github.com:domify/registry
This commit is contained in:
commit
53023b455c
33 changed files with 746 additions and 143 deletions
|
@ -1,3 +1,7 @@
|
||||||
|
02.04.2015
|
||||||
|
|
||||||
|
* Depricated DelayedJob, kill all running delayed jobs if needed
|
||||||
|
|
||||||
27.03.2015
|
27.03.2015
|
||||||
|
|
||||||
* Integrated DEPP engine to Registrar. Please note new DEPP configuration in application-example.yml
|
* Integrated DEPP engine to Registrar. Please note new DEPP configuration in application-example.yml
|
||||||
|
|
8
Gemfile
8
Gemfile
|
@ -3,7 +3,7 @@ source 'https://rubygems.org'
|
||||||
# core
|
# core
|
||||||
gem 'rails', '4.2.1'
|
gem 'rails', '4.2.1'
|
||||||
gem 'iso8601', '~> 0.8.2' # for dates and times
|
gem 'iso8601', '~> 0.8.2' # for dates and times
|
||||||
gem 'hashie_rails', '~> 0.0.1'
|
gem 'hashie-forbidden_attributes', '~> 0.1.1'
|
||||||
|
|
||||||
# load env
|
# load env
|
||||||
gem 'figaro', '~> 1.1.0'
|
gem 'figaro', '~> 1.1.0'
|
||||||
|
@ -16,7 +16,6 @@ gem 'paper_trail',
|
||||||
github: 'airblade/paper_trail',
|
github: 'airblade/paper_trail',
|
||||||
ref: 'a453811226ec4ea59753ba6b827e390ced2fc140' # '~> 4.0.0.beta2' # archiving
|
ref: 'a453811226ec4ea59753ba6b827e390ced2fc140' # '~> 4.0.0.beta2' # archiving
|
||||||
gem 'rails-settings-cached', '~> 0.4.1' # for settings
|
gem 'rails-settings-cached', '~> 0.4.1' # for settings
|
||||||
gem 'delayed_job_active_record', '~> 4.0.3' # delayed job
|
|
||||||
|
|
||||||
# html-xml
|
# html-xml
|
||||||
gem 'haml-rails', '~> 0.9.0' # haml for views
|
gem 'haml-rails', '~> 0.9.0' # haml for views
|
||||||
|
@ -52,7 +51,6 @@ gem 'isikukood' # for EE-id validation
|
||||||
|
|
||||||
# deploy
|
# deploy
|
||||||
gem 'whenever', '~> 0.9.4', require: false
|
gem 'whenever', '~> 0.9.4', require: false
|
||||||
gem 'daemons', '~> 1.1.9' # process delayed jobs
|
|
||||||
|
|
||||||
# monitors
|
# monitors
|
||||||
gem 'newrelic_rpm', '~> 3.9.9.275'
|
gem 'newrelic_rpm', '~> 3.9.9.275'
|
||||||
|
@ -71,6 +69,9 @@ gem 'depp', github: 'domify/depp', ref: '800ab30dcb6dae33095bcb9df47b4e0a390891a
|
||||||
# gem 'depp', path: '~/projects/depp'
|
# gem 'depp', path: '~/projects/depp'
|
||||||
gem 'epp', '~> 1.4.2', github: 'gitlabeu/epp'
|
gem 'epp', '~> 1.4.2', github: 'gitlabeu/epp'
|
||||||
|
|
||||||
|
# for importing legacy db
|
||||||
|
gem 'activerecord-import', '~> 0.7.0' # for inserting dummy data
|
||||||
|
|
||||||
group :development do
|
group :development do
|
||||||
# dev tools
|
# dev tools
|
||||||
gem 'spring', '~> 1.3.3'
|
gem 'spring', '~> 1.3.3'
|
||||||
|
@ -102,7 +103,6 @@ group :development, :test do
|
||||||
gem 'launchy', '~> 2.4.3' # for opening browser automatically
|
gem 'launchy', '~> 2.4.3' # for opening browser automatically
|
||||||
|
|
||||||
# helper gems
|
# helper gems
|
||||||
gem 'activerecord-import', '~> 0.6.0' # for inserting dummy data
|
|
||||||
gem 'database_cleaner', '~> 1.3.0' # For cleaning db in feature and epp tests
|
gem 'database_cleaner', '~> 1.3.0' # For cleaning db in feature and epp tests
|
||||||
gem 'faker', '~> 1.3.0' # Library to generate fake data
|
gem 'faker', '~> 1.3.0' # Library to generate fake data
|
||||||
|
|
||||||
|
|
75
Gemfile.lock
75
Gemfile.lock
|
@ -79,7 +79,7 @@ GEM
|
||||||
activemodel (= 4.2.1)
|
activemodel (= 4.2.1)
|
||||||
activesupport (= 4.2.1)
|
activesupport (= 4.2.1)
|
||||||
arel (~> 6.0)
|
arel (~> 6.0)
|
||||||
activerecord-import (0.6.0)
|
activerecord-import (0.7.0)
|
||||||
activerecord (>= 3.0)
|
activerecord (>= 3.0)
|
||||||
activesupport (4.2.1)
|
activesupport (4.2.1)
|
||||||
i18n (~> 0.7)
|
i18n (~> 0.7)
|
||||||
|
@ -87,15 +87,15 @@ GEM
|
||||||
minitest (~> 5.1)
|
minitest (~> 5.1)
|
||||||
thread_safe (~> 0.3, >= 0.3.4)
|
thread_safe (~> 0.3, >= 0.3.4)
|
||||||
tzinfo (~> 1.1)
|
tzinfo (~> 1.1)
|
||||||
addressable (2.3.6)
|
addressable (2.3.8)
|
||||||
akami (1.2.2)
|
akami (1.3.0)
|
||||||
gyoku (>= 0.4.0)
|
gyoku (>= 0.4.0)
|
||||||
nokogiri
|
nokogiri
|
||||||
arel (6.0.0)
|
arel (6.0.0)
|
||||||
ast (2.0.0)
|
ast (2.0.0)
|
||||||
astrolabe (1.3.0)
|
astrolabe (1.3.0)
|
||||||
parser (>= 2.2.0.pre.3, < 3.0)
|
parser (>= 2.2.0.pre.3, < 3.0)
|
||||||
autodoc (0.4.3)
|
autodoc (0.4.4)
|
||||||
actionpack
|
actionpack
|
||||||
activesupport (>= 3.0.0)
|
activesupport (>= 3.0.0)
|
||||||
rspec
|
rspec
|
||||||
|
@ -103,7 +103,7 @@ GEM
|
||||||
descendants_tracker (~> 0.0.4)
|
descendants_tracker (~> 0.0.4)
|
||||||
ice_nine (~> 0.11.0)
|
ice_nine (~> 0.11.0)
|
||||||
thread_safe (~> 0.3, >= 0.3.1)
|
thread_safe (~> 0.3, >= 0.3.1)
|
||||||
bcrypt (3.1.9)
|
bcrypt (3.1.10)
|
||||||
better_errors (2.0.0)
|
better_errors (2.0.0)
|
||||||
coderay (>= 1.0.0)
|
coderay (>= 1.0.0)
|
||||||
erubis (>= 2.6.6)
|
erubis (>= 2.6.6)
|
||||||
|
@ -156,16 +156,10 @@ GEM
|
||||||
crack (0.4.2)
|
crack (0.4.2)
|
||||||
safe_yaml (~> 1.0.0)
|
safe_yaml (~> 1.0.0)
|
||||||
currencies (0.4.2)
|
currencies (0.4.2)
|
||||||
daemons (1.1.9)
|
|
||||||
database_cleaner (1.3.0)
|
database_cleaner (1.3.0)
|
||||||
debug_inspector (0.0.2)
|
debug_inspector (0.0.2)
|
||||||
deep_cloneable (2.1.1)
|
deep_cloneable (2.1.1)
|
||||||
activerecord (>= 3.1.0, < 5.0.0)
|
activerecord (>= 3.1.0, < 5.0.0)
|
||||||
delayed_job (4.0.6)
|
|
||||||
activesupport (>= 3.0, < 5.0)
|
|
||||||
delayed_job_active_record (4.0.3)
|
|
||||||
activerecord (>= 3.0, < 5.0)
|
|
||||||
delayed_job (>= 3.0, < 4.1)
|
|
||||||
descendants_tracker (0.0.4)
|
descendants_tracker (0.0.4)
|
||||||
thread_safe (~> 0.3, >= 0.3.1)
|
thread_safe (~> 0.3, >= 0.3.1)
|
||||||
devise (3.4.1)
|
devise (3.4.1)
|
||||||
|
@ -186,14 +180,14 @@ GEM
|
||||||
epp-xml (0.10.4)
|
epp-xml (0.10.4)
|
||||||
activesupport (~> 4.1)
|
activesupport (~> 4.1)
|
||||||
builder (~> 3.2)
|
builder (~> 3.2)
|
||||||
equalizer (0.0.9)
|
equalizer (0.0.11)
|
||||||
erubis (2.7.0)
|
erubis (2.7.0)
|
||||||
execjs (2.4.0)
|
execjs (2.4.0)
|
||||||
fabrication (2.12.2)
|
fabrication (2.12.2)
|
||||||
faker (1.3.0)
|
faker (1.3.0)
|
||||||
i18n (~> 0.5)
|
i18n (~> 0.5)
|
||||||
fastercsv (1.5.5)
|
fastercsv (1.5.5)
|
||||||
ffi (1.9.6)
|
ffi (1.9.8)
|
||||||
figaro (1.1.0)
|
figaro (1.1.0)
|
||||||
thor (~> 0.14)
|
thor (~> 0.14)
|
||||||
flay (2.4.0)
|
flay (2.4.0)
|
||||||
|
@ -229,7 +223,7 @@ GEM
|
||||||
guard-rubocop (1.1.0)
|
guard-rubocop (1.1.0)
|
||||||
guard (~> 2.0)
|
guard (~> 2.0)
|
||||||
rubocop (~> 0.20)
|
rubocop (~> 0.20)
|
||||||
gyoku (1.2.3)
|
gyoku (1.3.0)
|
||||||
builder (>= 2.1.2)
|
builder (>= 2.1.2)
|
||||||
haml (4.0.6)
|
haml (4.0.6)
|
||||||
tilt
|
tilt
|
||||||
|
@ -239,22 +233,21 @@ GEM
|
||||||
haml (>= 4.0.6, < 5.0)
|
haml (>= 4.0.6, < 5.0)
|
||||||
html2haml (>= 1.0.1)
|
html2haml (>= 1.0.1)
|
||||||
railties (>= 4.0.1)
|
railties (>= 4.0.1)
|
||||||
hashie (3.3.2)
|
hashie (3.4.1)
|
||||||
hashie_rails (0.0.1)
|
hashie-forbidden_attributes (0.1.1)
|
||||||
hashie (>= 3.0)
|
hashie (>= 3.0)
|
||||||
rails (~> 4.0)
|
|
||||||
highline (1.6.21)
|
highline (1.6.21)
|
||||||
hike (1.2.3)
|
hike (1.2.3)
|
||||||
hitimes (1.2.2)
|
hitimes (1.2.2)
|
||||||
hpricot (0.8.6)
|
hpricot (0.8.6)
|
||||||
httpclient (2.6.0.1)
|
httpclient (2.6.0.1)
|
||||||
httpi (2.3.0)
|
httpi (2.4.0)
|
||||||
rack
|
rack
|
||||||
i18n (0.7.0)
|
i18n (0.7.0)
|
||||||
ice_nine (0.11.1)
|
ice_nine (0.11.1)
|
||||||
isikukood (0.1.2)
|
isikukood (0.1.2)
|
||||||
iso8601 (0.8.2)
|
iso8601 (0.8.5)
|
||||||
jbuilder (2.2.6)
|
jbuilder (2.2.12)
|
||||||
activesupport (>= 3.0.0, < 5)
|
activesupport (>= 3.0.0, < 5)
|
||||||
multi_json (~> 1.2)
|
multi_json (~> 1.2)
|
||||||
jquery-rails (4.0.3)
|
jquery-rails (4.0.3)
|
||||||
|
@ -270,8 +263,8 @@ GEM
|
||||||
addressable (~> 2.3)
|
addressable (~> 2.3)
|
||||||
libv8 (3.16.14.7)
|
libv8 (3.16.14.7)
|
||||||
libxml-ruby (2.8.0)
|
libxml-ruby (2.8.0)
|
||||||
listen (2.8.5)
|
listen (2.10.0)
|
||||||
celluloid (>= 0.15.2)
|
celluloid (~> 0.16.0)
|
||||||
rb-fsevent (>= 0.9.3)
|
rb-fsevent (>= 0.9.3)
|
||||||
rb-inotify (>= 0.9)
|
rb-inotify (>= 0.9)
|
||||||
loofah (2.0.1)
|
loofah (2.0.1)
|
||||||
|
@ -283,7 +276,7 @@ GEM
|
||||||
mime-types (>= 1.16, < 3)
|
mime-types (>= 1.16, < 3)
|
||||||
method_source (0.8.2)
|
method_source (0.8.2)
|
||||||
mime-types (2.4.3)
|
mime-types (2.4.3)
|
||||||
mina (0.3.1)
|
mina (0.3.4)
|
||||||
open4 (~> 1.3.4)
|
open4 (~> 1.3.4)
|
||||||
rake
|
rake
|
||||||
mini_portile (0.6.2)
|
mini_portile (0.6.2)
|
||||||
|
@ -293,11 +286,11 @@ GEM
|
||||||
newrelic_rpm (3.9.9.275)
|
newrelic_rpm (3.9.9.275)
|
||||||
nokogiri (1.6.6.2)
|
nokogiri (1.6.6.2)
|
||||||
mini_portile (~> 0.6.0)
|
mini_portile (~> 0.6.0)
|
||||||
nori (2.4.0)
|
nori (2.5.0)
|
||||||
nprogress-rails (0.1.6.5)
|
nprogress-rails (0.1.6.6)
|
||||||
open4 (1.3.4)
|
open4 (1.3.4)
|
||||||
orm_adapter (0.5.0)
|
orm_adapter (0.5.0)
|
||||||
parser (2.2.0.2)
|
parser (2.2.0.3)
|
||||||
ast (>= 1.1, < 3.0)
|
ast (>= 1.1, < 3.0)
|
||||||
pg (0.18.1)
|
pg (0.18.1)
|
||||||
phantomjs (1.9.7.1)
|
phantomjs (1.9.7.1)
|
||||||
|
@ -369,8 +362,8 @@ GEM
|
||||||
sexp_processor
|
sexp_processor
|
||||||
ref (1.0.5)
|
ref (1.0.5)
|
||||||
request_store (1.1.0)
|
request_store (1.1.0)
|
||||||
responders (2.0.2)
|
responders (2.1.0)
|
||||||
railties (>= 4.2.0.alpha, < 5)
|
railties (>= 4.2.0, < 5)
|
||||||
rspec (3.0.0)
|
rspec (3.0.0)
|
||||||
rspec-core (~> 3.0.0)
|
rspec-core (~> 3.0.0)
|
||||||
rspec-expectations (~> 3.0.0)
|
rspec-expectations (~> 3.0.0)
|
||||||
|
@ -397,7 +390,7 @@ GEM
|
||||||
powerpack (~> 0.0.6)
|
powerpack (~> 0.0.6)
|
||||||
rainbow (>= 1.99.1, < 3.0)
|
rainbow (>= 1.99.1, < 3.0)
|
||||||
ruby-progressbar (~> 1.4)
|
ruby-progressbar (~> 1.4)
|
||||||
ruby-progressbar (1.7.1)
|
ruby-progressbar (1.7.5)
|
||||||
ruby2ruby (2.1.3)
|
ruby2ruby (2.1.3)
|
||||||
ruby_parser (~> 3.1)
|
ruby_parser (~> 3.1)
|
||||||
sexp_processor (~> 4.0)
|
sexp_processor (~> 4.0)
|
||||||
|
@ -412,13 +405,13 @@ GEM
|
||||||
virtus (~> 1.0)
|
virtus (~> 1.0)
|
||||||
safe_yaml (1.0.4)
|
safe_yaml (1.0.4)
|
||||||
sass (3.4.13)
|
sass (3.4.13)
|
||||||
sass-rails (5.0.1)
|
sass-rails (5.0.2)
|
||||||
railties (>= 4.0.0, < 5.0)
|
railties (>= 4.0.0, < 5.0)
|
||||||
sass (~> 3.1)
|
sass (~> 3.1)
|
||||||
sprockets (>= 2.8, < 4.0)
|
sprockets (>= 2.8, < 4.0)
|
||||||
sprockets-rails (>= 2.0, < 4.0)
|
sprockets-rails (>= 2.0, < 4.0)
|
||||||
tilt (~> 1.1)
|
tilt (~> 1.1)
|
||||||
savon (2.10.1)
|
savon (2.11.0)
|
||||||
akami (~> 1.2)
|
akami (~> 1.2)
|
||||||
builder (>= 2.1.2)
|
builder (>= 2.1.2)
|
||||||
gyoku (~> 1.2)
|
gyoku (~> 1.2)
|
||||||
|
@ -434,11 +427,11 @@ GEM
|
||||||
sexp_processor (4.5.0)
|
sexp_processor (4.5.0)
|
||||||
shoulda-matchers (2.6.2)
|
shoulda-matchers (2.6.2)
|
||||||
activesupport (>= 3.0.0)
|
activesupport (>= 3.0.0)
|
||||||
simplecov (0.9.1)
|
simplecov (0.9.2)
|
||||||
docile (~> 1.1.0)
|
docile (~> 1.1.0)
|
||||||
multi_json (~> 1.0)
|
multi_json (~> 1.0)
|
||||||
simplecov-html (~> 0.8.0)
|
simplecov-html (~> 0.9.0)
|
||||||
simplecov-html (0.8.0)
|
simplecov-html (0.9.0)
|
||||||
simpleidn (0.0.5)
|
simpleidn (0.0.5)
|
||||||
slim (2.1.0)
|
slim (2.1.0)
|
||||||
temple (~> 0.6.9)
|
temple (~> 0.6.9)
|
||||||
|
@ -486,19 +479,19 @@ GEM
|
||||||
uuid (2.3.7)
|
uuid (2.3.7)
|
||||||
macaddr (~> 1.0)
|
macaddr (~> 1.0)
|
||||||
uuidtools (2.1.5)
|
uuidtools (2.1.5)
|
||||||
virtus (1.0.4)
|
virtus (1.0.5)
|
||||||
axiom-types (~> 0.1)
|
axiom-types (~> 0.1)
|
||||||
coercible (~> 1.0)
|
coercible (~> 1.0)
|
||||||
descendants_tracker (~> 0.0, >= 0.0.3)
|
descendants_tracker (~> 0.0, >= 0.0.3)
|
||||||
equalizer (~> 0.0, >= 0.0.9)
|
equalizer (~> 0.0, >= 0.0.9)
|
||||||
warden (1.2.3)
|
warden (1.2.3)
|
||||||
rack (>= 1.0)
|
rack (>= 1.0)
|
||||||
wasabi (3.4.0)
|
wasabi (3.5.0)
|
||||||
httpi (~> 2.0)
|
httpi (~> 2.0)
|
||||||
nokogiri (>= 1.4.2)
|
nokogiri (>= 1.4.2)
|
||||||
websocket-driver (0.5.1)
|
websocket-driver (0.5.4)
|
||||||
websocket-extensions (>= 0.1.0)
|
websocket-extensions (>= 0.1.0)
|
||||||
websocket-extensions (0.1.1)
|
websocket-extensions (0.1.2)
|
||||||
whenever (0.9.4)
|
whenever (0.9.4)
|
||||||
chronic (>= 0.6.3)
|
chronic (>= 0.6.3)
|
||||||
xpath (2.0.0)
|
xpath (2.0.0)
|
||||||
|
@ -508,7 +501,7 @@ PLATFORMS
|
||||||
ruby
|
ruby
|
||||||
|
|
||||||
DEPENDENCIES
|
DEPENDENCIES
|
||||||
activerecord-import (~> 0.6.0)
|
activerecord-import (~> 0.7.0)
|
||||||
autodoc
|
autodoc
|
||||||
better_errors (~> 2.0.0)
|
better_errors (~> 2.0.0)
|
||||||
binding_of_caller (~> 0.7.2)
|
binding_of_caller (~> 0.7.2)
|
||||||
|
@ -520,10 +513,8 @@ DEPENDENCIES
|
||||||
capybara (~> 2.4.1)
|
capybara (~> 2.4.1)
|
||||||
coffee-rails (~> 4.1.0)
|
coffee-rails (~> 4.1.0)
|
||||||
countries (~> 0.10.0)
|
countries (~> 0.10.0)
|
||||||
daemons (~> 1.1.9)
|
|
||||||
database_cleaner (~> 1.3.0)
|
database_cleaner (~> 1.3.0)
|
||||||
deep_cloneable (~> 2.1.1)
|
deep_cloneable (~> 2.1.1)
|
||||||
delayed_job_active_record (~> 4.0.3)
|
|
||||||
depp!
|
depp!
|
||||||
devise (~> 3.4.1)
|
devise (~> 3.4.1)
|
||||||
digidoc_client (~> 0.2.1)
|
digidoc_client (~> 0.2.1)
|
||||||
|
@ -538,7 +529,7 @@ DEPENDENCIES
|
||||||
guard-rspec (~> 4.3.1)
|
guard-rspec (~> 4.3.1)
|
||||||
guard-rubocop (~> 1.1.0)
|
guard-rubocop (~> 1.1.0)
|
||||||
haml-rails (~> 0.9.0)
|
haml-rails (~> 0.9.0)
|
||||||
hashie_rails (~> 0.0.1)
|
hashie-forbidden_attributes (~> 0.1.1)
|
||||||
html2haml!
|
html2haml!
|
||||||
isikukood
|
isikukood
|
||||||
iso8601 (~> 0.8.2)
|
iso8601 (~> 0.8.2)
|
||||||
|
|
|
@ -72,7 +72,7 @@ class Ability
|
||||||
can :manage, LegalDocument
|
can :manage, LegalDocument
|
||||||
can :read, ApiLog::EppLog
|
can :read, ApiLog::EppLog
|
||||||
can :read, ApiLog::ReppLog
|
can :read, ApiLog::ReppLog
|
||||||
can :index, :delayed_job
|
# can :index, :delayed_job
|
||||||
can :create, :zonefile
|
can :create, :zonefile
|
||||||
can :access, :settings_menu
|
can :access, :settings_menu
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,36 +1,3 @@
|
||||||
module DomainVersionObserver
|
module DomainVersionObserver
|
||||||
extend ActiveSupport::Concern
|
extend ActiveSupport::Concern
|
||||||
|
|
||||||
# TODO: remove old
|
|
||||||
# included do
|
|
||||||
# after_save :delayed_whois_update
|
|
||||||
# end
|
|
||||||
|
|
||||||
# private
|
|
||||||
|
|
||||||
# def delayed_whois_update
|
|
||||||
# name = domain_name
|
|
||||||
# return unless name
|
|
||||||
# body = snapshot
|
|
||||||
# delay.update_private_whois(name, body)
|
|
||||||
# delay.update_public_whois(name, body)
|
|
||||||
# end
|
|
||||||
|
|
||||||
# def update_private_whois(domain_name, body)
|
|
||||||
# wd = Whois::PublicDomain.find_or_initialize_by(name: domain_name)
|
|
||||||
# wd.body = body
|
|
||||||
# wd.save!
|
|
||||||
# end
|
|
||||||
|
|
||||||
# def update_public_whois(domain_name, body)
|
|
||||||
# wd = Whois::PrivateDomain.find_or_initialize_by(name: domain_name)
|
|
||||||
# wd.body = body
|
|
||||||
# wd.save!
|
|
||||||
# end
|
|
||||||
|
|
||||||
# def domain_name
|
|
||||||
# name = reify.try(:name)
|
|
||||||
# name = load_snapshot[:domain][:name] if event == 'create'
|
|
||||||
# return name if name
|
|
||||||
# end
|
|
||||||
end
|
end
|
||||||
|
|
|
@ -39,10 +39,14 @@ class Contact < ActiveRecord::Base
|
||||||
scope :current_registrars, ->(id) { where(registrar_id: id) }
|
scope :current_registrars, ->(id) { where(registrar_id: id) }
|
||||||
|
|
||||||
BIC = 'bic'
|
BIC = 'bic'
|
||||||
|
PRIV = 'priv'
|
||||||
|
BIRTHDAY = 'birthday'
|
||||||
|
PASSPORT = 'passport'
|
||||||
|
|
||||||
IDENT_TYPES = [
|
IDENT_TYPES = [
|
||||||
BIC, # Company registry code (or similar)
|
BIC, # Company registry code (or similar)
|
||||||
'priv', # National idendtification number
|
PRIV, # National idendtification number
|
||||||
'birthday' # Birthday date
|
BIRTHDAY # Birthday date
|
||||||
]
|
]
|
||||||
|
|
||||||
class << self
|
class << self
|
||||||
|
@ -84,7 +88,7 @@ class Contact < ActiveRecord::Base
|
||||||
end
|
end
|
||||||
|
|
||||||
def to_s
|
def to_s
|
||||||
name
|
name || '[no name]'
|
||||||
end
|
end
|
||||||
|
|
||||||
def ident_valid_format?
|
def ident_valid_format?
|
||||||
|
|
|
@ -73,9 +73,9 @@ class Dnskey < ActiveRecord::Base
|
||||||
hex = [domain.name_in_wire_format, flags_hex, protocol_hex, alg_hex, public_key_hex].join
|
hex = [domain.name_in_wire_format, flags_hex, protocol_hex, alg_hex, public_key_hex].join
|
||||||
bin = self.class.hex_to_bin(hex)
|
bin = self.class.hex_to_bin(hex)
|
||||||
|
|
||||||
if Setting.ds_algorithm == 1
|
if ds_digest_type == 1
|
||||||
self.ds_digest = Digest::SHA1.hexdigest(bin).upcase
|
self.ds_digest = Digest::SHA1.hexdigest(bin).upcase
|
||||||
elsif Setting.ds_algorithm == 2
|
elsif ds_digest_type == 2
|
||||||
self.ds_digest = Digest::SHA256.hexdigest(bin).upcase
|
self.ds_digest = Digest::SHA256.hexdigest(bin).upcase
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -236,7 +236,7 @@ class Domain < ActiveRecord::Base
|
||||||
|
|
||||||
# rubocop:disable Metrics/MethodLength
|
# rubocop:disable Metrics/MethodLength
|
||||||
def update_whois_body
|
def update_whois_body
|
||||||
new_whois_body = <<-EOS
|
self.whois_body = <<-EOS
|
||||||
This Whois Server contains information on
|
This Whois Server contains information on
|
||||||
Estonian Top Level Domain ee TLD
|
Estonian Top Level Domain ee TLD
|
||||||
|
|
||||||
|
@ -261,11 +261,8 @@ class Domain < ActiveRecord::Base
|
||||||
changed: #{registrar.updated_at.to_s(:db)}
|
changed: #{registrar.updated_at.to_s(:db)}
|
||||||
EOS
|
EOS
|
||||||
|
|
||||||
return if whois_body == new_whois_body
|
|
||||||
update_column(whois_body: new_whois_body)
|
|
||||||
update_whois_server
|
update_whois_server
|
||||||
end
|
end
|
||||||
handle_asynchronously :update_whois_body
|
|
||||||
# rubocop:enable Metrics/MethodLength
|
# rubocop:enable Metrics/MethodLength
|
||||||
|
|
||||||
def contacts_body
|
def contacts_body
|
||||||
|
|
8
app/models/legacy/contact.rb
Normal file
8
app/models/legacy/contact.rb
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
module Legacy
|
||||||
|
class Contact < Db
|
||||||
|
self.table_name = :contact
|
||||||
|
belongs_to :object_registry, foreign_key: :id
|
||||||
|
belongs_to :object, foreign_key: :id
|
||||||
|
belongs_to :object_state, foreign_key: :id, primary_key: :object_id
|
||||||
|
end
|
||||||
|
end
|
14
app/models/legacy/db.rb
Normal file
14
app/models/legacy/db.rb
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
module Legacy
|
||||||
|
class Db < ActiveRecord::Base
|
||||||
|
self.abstract_class = true
|
||||||
|
begin
|
||||||
|
establish_connection :fred
|
||||||
|
rescue ActiveRecord::AdapterNotSpecified => e
|
||||||
|
logger.info "'fred' database not configured, please update your database.yml file: #{e}"
|
||||||
|
end
|
||||||
|
|
||||||
|
def readonly?
|
||||||
|
true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
5
app/models/legacy/dnskey.rb
Normal file
5
app/models/legacy/dnskey.rb
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
module Legacy
|
||||||
|
class Dnskey < Db
|
||||||
|
self.table_name = :dnskey
|
||||||
|
end
|
||||||
|
end
|
15
app/models/legacy/domain.rb
Normal file
15
app/models/legacy/domain.rb
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
module Legacy
|
||||||
|
class Domain < Db
|
||||||
|
self.table_name = :domain
|
||||||
|
|
||||||
|
belongs_to :object_registry, foreign_key: :id
|
||||||
|
belongs_to :object, foreign_key: :id
|
||||||
|
belongs_to :nsset, foreign_key: :nsset
|
||||||
|
# belongs_to :registrant, foreign_key: :registrant, primary_key: :legacy_id, class_name: '::Contact'
|
||||||
|
|
||||||
|
has_many :object_states, -> { where('valid_to IS NULL') }, foreign_key: :object_id
|
||||||
|
has_many :dnskeys, foreign_key: :keysetid, primary_key: :keyset
|
||||||
|
has_many :domain_contact_maps, foreign_key: :domainid
|
||||||
|
has_many :nsset_contact_maps, foreign_key: :nssetid, primary_key: :nsset
|
||||||
|
end
|
||||||
|
end
|
7
app/models/legacy/domain_contact_map.rb
Normal file
7
app/models/legacy/domain_contact_map.rb
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
module Legacy
|
||||||
|
class DomainContactMap < Db
|
||||||
|
self.table_name = :domain_contact_map
|
||||||
|
|
||||||
|
# belongs_to :contact, foreign_key: :contactid, primary_key: :legacy_id, class_name: '::Contact'
|
||||||
|
end
|
||||||
|
end
|
5
app/models/legacy/enum_object_state.rb
Normal file
5
app/models/legacy/enum_object_state.rb
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
module Legacy
|
||||||
|
class EnumObjectState < Db
|
||||||
|
self.table_name = :enum_object_states
|
||||||
|
end
|
||||||
|
end
|
7
app/models/legacy/host.rb
Normal file
7
app/models/legacy/host.rb
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
module Legacy
|
||||||
|
class Host < Db
|
||||||
|
self.table_name = :host
|
||||||
|
|
||||||
|
has_many :host_ipaddr_maps, foreign_key: :hostid
|
||||||
|
end
|
||||||
|
end
|
5
app/models/legacy/host_ipaddr_map.rb
Normal file
5
app/models/legacy/host_ipaddr_map.rb
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
module Legacy
|
||||||
|
class HostIpaddrMap < Db
|
||||||
|
self.table_name = :host_ipaddr_map
|
||||||
|
end
|
||||||
|
end
|
7
app/models/legacy/nsset.rb
Normal file
7
app/models/legacy/nsset.rb
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
module Legacy
|
||||||
|
class Nsset < Db
|
||||||
|
self.table_name = :nsset
|
||||||
|
|
||||||
|
has_many :hosts, foreign_key: :nssetid
|
||||||
|
end
|
||||||
|
end
|
5
app/models/legacy/nsset_contact_map.rb
Normal file
5
app/models/legacy/nsset_contact_map.rb
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
module Legacy
|
||||||
|
class NssetContactMap < Db
|
||||||
|
self.table_name = :nsset_contact_map
|
||||||
|
end
|
||||||
|
end
|
10
app/models/legacy/object.rb
Normal file
10
app/models/legacy/object.rb
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
module Legacy
|
||||||
|
class Object < Db
|
||||||
|
self.table_name = :object
|
||||||
|
|
||||||
|
def self.instance_method_already_implemented?(method_name)
|
||||||
|
return true if method_name == 'update'
|
||||||
|
super
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
7
app/models/legacy/object_registry.rb
Normal file
7
app/models/legacy/object_registry.rb
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
module Legacy
|
||||||
|
class ObjectRegistry < Db
|
||||||
|
self.table_name = :object_registry
|
||||||
|
self.inheritance_column = nil
|
||||||
|
belongs_to :registrar, foreign_key: :crid, primary_key: :legacy_id, class_name: '::Registrar'
|
||||||
|
end
|
||||||
|
end
|
80
app/models/legacy/object_state.rb
Normal file
80
app/models/legacy/object_state.rb
Normal file
|
@ -0,0 +1,80 @@
|
||||||
|
module Legacy
|
||||||
|
class ObjectState < Db
|
||||||
|
self.table_name = :object_state
|
||||||
|
|
||||||
|
def name
|
||||||
|
# legacy values
|
||||||
|
# 2 => "serverRenewProhibited",
|
||||||
|
# 5 => "serverOutzoneManual",
|
||||||
|
# 6 => "serverInzoneManual",
|
||||||
|
# 7 => "serverBlocked",
|
||||||
|
# 8 => "expirationWarning",
|
||||||
|
# 9 => "expired",
|
||||||
|
# 10 => "unguarded",
|
||||||
|
# 11 => "validationWarning1",
|
||||||
|
# 12 => "validationWarning2",
|
||||||
|
# 13 => "notValidated",
|
||||||
|
# 14 => "nssetMissing",
|
||||||
|
# 15 => "outzone",
|
||||||
|
# 18 => "serverRegistrantChangeProhibited",
|
||||||
|
# 19 => "deleteWarning",
|
||||||
|
# 20 => "outzoneUnguarded",
|
||||||
|
# 1 => "serverDeleteProhibited",
|
||||||
|
# 3 => "serverTransferProhibited",
|
||||||
|
# 4 => "serverUpdateProhibited",
|
||||||
|
# 16 => "linked",
|
||||||
|
# 17 => "deleteCandidate",
|
||||||
|
# 21 => "forceDelete"
|
||||||
|
|
||||||
|
# new values
|
||||||
|
map = {
|
||||||
|
2 => "serverRenewProhibited",
|
||||||
|
5 => "serverHold",
|
||||||
|
6 => "serverManualInzone",
|
||||||
|
7 => "serverBlocked",
|
||||||
|
9 => "expired",
|
||||||
|
11 => "validationWarning1",
|
||||||
|
13 => "notValidated",
|
||||||
|
14 => "nssetMissing",
|
||||||
|
15 => "serverHold",
|
||||||
|
18 => "serverRegistrantChangeProhibited",
|
||||||
|
1 => "serverDeleteProhibited",
|
||||||
|
3 => "serverTransferProhibited",
|
||||||
|
4 => "serverUpdateProhibited",
|
||||||
|
16 => "linked",
|
||||||
|
17 => "deleteCandidate", # grupistaatus
|
||||||
|
21 => "forceDelete" # grupistaatus
|
||||||
|
}
|
||||||
|
|
||||||
|
map[state_id]
|
||||||
|
end
|
||||||
|
|
||||||
|
def desc
|
||||||
|
map = {
|
||||||
|
1 => "Delete prohibited",
|
||||||
|
2 => "Registration renew prohibited",
|
||||||
|
3 => "Sponsoring registrar change prohibited",
|
||||||
|
4 => "Update prohibited",
|
||||||
|
7 => "Domain blocked",
|
||||||
|
8 => "Expires within 30 days",
|
||||||
|
9 => "Expired",
|
||||||
|
10 => "Domain is 30 days after expiration",
|
||||||
|
11 => "Validation of domain expire in 30 days",
|
||||||
|
12 => "Validation of domain expire in 15 days",
|
||||||
|
13 => "Domain not validated",
|
||||||
|
14 => "Domain has not associated nsset",
|
||||||
|
15 => "Domain is not generated into zone",
|
||||||
|
16 => "Has relation to other records in registry",
|
||||||
|
17 => "Object is going to be deleted",
|
||||||
|
18 => "Registrant change prohibited",
|
||||||
|
19 => "Domain will be deleted in 11 days",
|
||||||
|
20 => "Domain is out of zone after 30 days from expiration",
|
||||||
|
21 => "Domain is forced to delete",
|
||||||
|
5 => "Domain is administratively kept out of zone",
|
||||||
|
6 => "Domain is administratively kept in zone"
|
||||||
|
}
|
||||||
|
|
||||||
|
map[state_id]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
5
app/models/legacy/registrar.rb
Normal file
5
app/models/legacy/registrar.rb
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
module Legacy
|
||||||
|
class Registrar < Db
|
||||||
|
self.table_name = :registrar
|
||||||
|
end
|
||||||
|
end
|
|
@ -48,7 +48,7 @@
|
||||||
-# %li= link_to t(:domains_history), admin_domain_versions_path
|
-# %li= link_to t(:domains_history), admin_domain_versions_path
|
||||||
%li= link_to t(:epp_logs), admin_epp_logs_path
|
%li= link_to t(:epp_logs), admin_epp_logs_path
|
||||||
%li= link_to t(:repp_logs), admin_repp_logs_path
|
%li= link_to t(:repp_logs), admin_repp_logs_path
|
||||||
%li= link_to t(:background_jobs), admin_delayed_jobs_path
|
-# %li= link_to t(:background_jobs), admin_delayed_jobs_path
|
||||||
|
|
||||||
%li.divider
|
%li.divider
|
||||||
%li.dropdown-header= t('users')
|
%li.dropdown-header= t('users')
|
||||||
|
|
|
@ -45,8 +45,6 @@ module Registry
|
||||||
# Instead, the errors will propagate normally just like in other Active Record callbacks.
|
# Instead, the errors will propagate normally just like in other Active Record callbacks.
|
||||||
config.active_record.raise_in_transactional_callbacks = true
|
config.active_record.raise_in_transactional_callbacks = true
|
||||||
|
|
||||||
config.active_job.queue_adapter = :delayed_job
|
|
||||||
|
|
||||||
config.generators do |g|
|
config.generators do |g|
|
||||||
g.stylesheets false
|
g.stylesheets false
|
||||||
g.javascripts false
|
g.javascripts false
|
||||||
|
|
|
@ -17,7 +17,6 @@ set :deploy_to, '$HOME/registry'
|
||||||
set :repository, 'https://github.com/domify/registry' # dev repo
|
set :repository, 'https://github.com/domify/registry' # dev repo
|
||||||
set :branch, 'master'
|
set :branch, 'master'
|
||||||
set :rails_env, 'alpha'
|
set :rails_env, 'alpha'
|
||||||
set :delayed_job, true
|
|
||||||
|
|
||||||
# alpha branch
|
# alpha branch
|
||||||
task :epp do
|
task :epp do
|
||||||
|
@ -26,7 +25,6 @@ task :epp do
|
||||||
set :repository, 'https://github.com/domify/registry' # dev repo
|
set :repository, 'https://github.com/domify/registry' # dev repo
|
||||||
set :branch, 'master'
|
set :branch, 'master'
|
||||||
set :rails_env, 'alpha'
|
set :rails_env, 'alpha'
|
||||||
set :delayed_job, false
|
|
||||||
end
|
end
|
||||||
|
|
||||||
task :registrar do
|
task :registrar do
|
||||||
|
@ -35,7 +33,6 @@ task :registrar do
|
||||||
set :repository, 'https://github.com/domify/registry' # dev repo
|
set :repository, 'https://github.com/domify/registry' # dev repo
|
||||||
set :branch, 'master'
|
set :branch, 'master'
|
||||||
set :rails_env, 'alpha'
|
set :rails_env, 'alpha'
|
||||||
set :delayed_job, false
|
|
||||||
end
|
end
|
||||||
|
|
||||||
# staging
|
# staging
|
||||||
|
@ -45,7 +42,6 @@ task :st do
|
||||||
set :repository, 'https://github.com/internetee/registry' # production repo
|
set :repository, 'https://github.com/internetee/registry' # production repo
|
||||||
set :branch, 'master' # same as production
|
set :branch, 'master' # same as production
|
||||||
set :rails_env, 'staging'
|
set :rails_env, 'staging'
|
||||||
set :delayed_job, true
|
|
||||||
end
|
end
|
||||||
|
|
||||||
# staging
|
# staging
|
||||||
|
@ -55,7 +51,6 @@ task :eppst do
|
||||||
set :repository, 'https://github.com/internetee/registry' # production repo
|
set :repository, 'https://github.com/internetee/registry' # production repo
|
||||||
set :branch, 'master' # same as production
|
set :branch, 'master' # same as production
|
||||||
set :rails_env, 'staging'
|
set :rails_env, 'staging'
|
||||||
set :delayed_job, false
|
|
||||||
end
|
end
|
||||||
|
|
||||||
# staging
|
# staging
|
||||||
|
@ -65,7 +60,6 @@ task :registrarst do
|
||||||
set :repository, 'https://github.com/internetee/registry' # production repo
|
set :repository, 'https://github.com/internetee/registry' # production repo
|
||||||
set :branch, 'master'
|
set :branch, 'master'
|
||||||
set :rails_env, 'staging'
|
set :rails_env, 'staging'
|
||||||
set :delayed_job, false
|
|
||||||
end
|
end
|
||||||
|
|
||||||
# production
|
# production
|
||||||
|
@ -75,7 +69,6 @@ task :pr do
|
||||||
set :repository, 'https://github.com/internetee/registry' # production repo
|
set :repository, 'https://github.com/internetee/registry' # production repo
|
||||||
set :branch, 'master' # same as staging
|
set :branch, 'master' # same as staging
|
||||||
set :rails_env, 'production'
|
set :rails_env, 'production'
|
||||||
set :delayed_job, true
|
|
||||||
end
|
end
|
||||||
|
|
||||||
# production
|
# production
|
||||||
|
@ -85,7 +78,6 @@ task :epppr do
|
||||||
set :repository, 'https://github.com/internetee/registry' # production repo
|
set :repository, 'https://github.com/internetee/registry' # production repo
|
||||||
set :branch, 'master' # same as staging
|
set :branch, 'master' # same as staging
|
||||||
set :rails_env, 'production'
|
set :rails_env, 'production'
|
||||||
set :delayed_job, false
|
|
||||||
end
|
end
|
||||||
|
|
||||||
# production
|
# production
|
||||||
|
@ -95,7 +87,6 @@ task :registrarst do
|
||||||
set :repository, 'https://github.com/internetee/registry' # production repo
|
set :repository, 'https://github.com/internetee/registry' # production repo
|
||||||
set :branch, 'master'
|
set :branch, 'master'
|
||||||
set :rails_env, 'production'
|
set :rails_env, 'production'
|
||||||
set :delayed_job, false
|
|
||||||
end
|
end
|
||||||
|
|
||||||
# Manually create these paths in shared/ (eg: shared/config/database.yml) in your server.
|
# Manually create these paths in shared/ (eg: shared/config/database.yml) in your server.
|
||||||
|
@ -159,10 +150,6 @@ task deploy: :environment do
|
||||||
deploy do
|
deploy do
|
||||||
# Put things that will set up an empty directory into a fully set-up
|
# Put things that will set up an empty directory into a fully set-up
|
||||||
# instance of your project.
|
# instance of your project.
|
||||||
to :prepare do
|
|
||||||
invoke :'delayed_job:stop' if delayed_job
|
|
||||||
end
|
|
||||||
|
|
||||||
invoke :'git:clone'
|
invoke :'git:clone'
|
||||||
invoke :load_commit_hash
|
invoke :load_commit_hash
|
||||||
invoke :'deploy:link_shared_paths'
|
invoke :'deploy:link_shared_paths'
|
||||||
|
@ -171,7 +158,6 @@ task deploy: :environment do
|
||||||
invoke :'rails:assets_precompile'
|
invoke :'rails:assets_precompile'
|
||||||
to :launch do
|
to :launch do
|
||||||
invoke :restart
|
invoke :restart
|
||||||
invoke :'delayed_job:start' if delayed_job
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -197,16 +183,6 @@ task load_commit_hash: :environment do
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
|
|
||||||
namespace :delayed_job do
|
|
||||||
task stop: :environment do
|
|
||||||
queue %(echo "-----> Stopping delayed job"; cd #{deploy_to}/current; RAILS_ENV=#{rails_env} bin/delayed_job stop)
|
|
||||||
end
|
|
||||||
|
|
||||||
task start: :environment do
|
|
||||||
queue %(echo "-----> Starting delayed job"; cd #{deploy_to}/current; RAILS_ENV=#{rails_env} bin/delayed_job start)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
desc 'Restart Passenger application'
|
desc 'Restart Passenger application'
|
||||||
task restart: :environment do
|
task restart: :environment do
|
||||||
queue "mkdir -p #{deploy_to}/current/tmp; touch #{deploy_to}/current/tmp/restart.txt"
|
queue "mkdir -p #{deploy_to}/current/tmp; touch #{deploy_to}/current/tmp/restart.txt"
|
||||||
|
|
7
db/migrate/20150226121252_remove_country_id_columns.rb
Normal file
7
db/migrate/20150226121252_remove_country_id_columns.rb
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
class RemoveCountryIdColumns < ActiveRecord::Migration
|
||||||
|
def change
|
||||||
|
remove_column :registrars, :country_id, :integer
|
||||||
|
remove_column :users, :country_id, :integer
|
||||||
|
remove_column :addresses, :country_id, :integer
|
||||||
|
end
|
||||||
|
end
|
|
@ -0,0 +1,8 @@
|
||||||
|
class AddLegacyColumnsForRegistrar < ActiveRecord::Migration
|
||||||
|
def change
|
||||||
|
add_column :registrars, :url, :string
|
||||||
|
add_column :registrars, :directo_handle, :string
|
||||||
|
add_column :registrars, :vat, :boolean
|
||||||
|
add_column :registrars, :legacy_id, :integer
|
||||||
|
end
|
||||||
|
end
|
|
@ -0,0 +1,9 @@
|
||||||
|
class AddLegacyColumnsForContact < ActiveRecord::Migration
|
||||||
|
def change
|
||||||
|
add_column :contacts, :legacy_id, :integer
|
||||||
|
remove_column :contacts, :type, :string
|
||||||
|
remove_column :contacts, :reg_no, :string
|
||||||
|
remove_column :contacts, :created_by_id, :integer
|
||||||
|
remove_column :contacts, :updated_by_id, :integer
|
||||||
|
end
|
||||||
|
end
|
12
db/migrate/20150302161712_add_legacy_columns_for_domain.rb
Normal file
12
db/migrate/20150302161712_add_legacy_columns_for_domain.rb
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
class AddLegacyColumnsForDomain < ActiveRecord::Migration
|
||||||
|
def change
|
||||||
|
add_column :domains, :legacy_id, :integer
|
||||||
|
add_column :domains, :legacy_registrar_id, :integer
|
||||||
|
add_column :domains, :legacy_registrant_id, :integer
|
||||||
|
add_column :nameservers, :legacy_domain_id, :integer
|
||||||
|
add_column :dnskeys, :legacy_domain_id, :integer
|
||||||
|
add_column :domain_contacts, :legacy_domain_id, :integer
|
||||||
|
add_column :domain_contacts, :legacy_contact_id, :integer
|
||||||
|
add_column :domain_statuses, :legacy_domain_id, :integer
|
||||||
|
end
|
||||||
|
end
|
5
db/migrate/20150402114712_drop_delayed_job.rb
Normal file
5
db/migrate/20150402114712_drop_delayed_job.rb
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
class DropDelayedJob < ActiveRecord::Migration
|
||||||
|
def change
|
||||||
|
drop_table :delayed_jobs
|
||||||
|
end
|
||||||
|
end
|
41
db/schema.rb
41
db/schema.rb
|
@ -11,14 +11,13 @@
|
||||||
#
|
#
|
||||||
# It's strongly recommended that you check this file into your version control system.
|
# It's strongly recommended that you check this file into your version control system.
|
||||||
|
|
||||||
ActiveRecord::Schema.define(version: 20150330083700) do
|
ActiveRecord::Schema.define(version: 20150402114712) do
|
||||||
|
|
||||||
# These are extensions that must be enabled in order to support this database
|
# These are extensions that must be enabled in order to support this database
|
||||||
enable_extension "plpgsql"
|
enable_extension "plpgsql"
|
||||||
|
|
||||||
create_table "addresses", force: :cascade do |t|
|
create_table "addresses", force: :cascade do |t|
|
||||||
t.integer "contact_id"
|
t.integer "contact_id"
|
||||||
t.integer "country_id"
|
|
||||||
t.string "city"
|
t.string "city"
|
||||||
t.string "street"
|
t.string "street"
|
||||||
t.string "zip"
|
t.string "zip"
|
||||||
|
@ -30,6 +29,7 @@ ActiveRecord::Schema.define(version: 20150330083700) do
|
||||||
t.string "updator_str"
|
t.string "updator_str"
|
||||||
t.string "country_code"
|
t.string "country_code"
|
||||||
t.string "state"
|
t.string "state"
|
||||||
|
t.integer "legacy_contact_id"
|
||||||
end
|
end
|
||||||
|
|
||||||
create_table "api_users", force: :cascade do |t|
|
create_table "api_users", force: :cascade do |t|
|
||||||
|
@ -75,8 +75,6 @@ ActiveRecord::Schema.define(version: 20150330083700) do
|
||||||
|
|
||||||
create_table "contacts", force: :cascade do |t|
|
create_table "contacts", force: :cascade do |t|
|
||||||
t.string "code"
|
t.string "code"
|
||||||
t.string "type"
|
|
||||||
t.string "reg_no"
|
|
||||||
t.string "phone"
|
t.string "phone"
|
||||||
t.string "email"
|
t.string "email"
|
||||||
t.string "fax"
|
t.string "fax"
|
||||||
|
@ -84,8 +82,6 @@ ActiveRecord::Schema.define(version: 20150330083700) do
|
||||||
t.datetime "updated_at"
|
t.datetime "updated_at"
|
||||||
t.string "ident"
|
t.string "ident"
|
||||||
t.string "ident_type"
|
t.string "ident_type"
|
||||||
t.integer "created_by_id"
|
|
||||||
t.integer "updated_by_id"
|
|
||||||
t.string "auth_info"
|
t.string "auth_info"
|
||||||
t.string "name"
|
t.string "name"
|
||||||
t.string "org_name"
|
t.string "org_name"
|
||||||
|
@ -98,6 +94,7 @@ ActiveRecord::Schema.define(version: 20150330083700) do
|
||||||
t.string "zip"
|
t.string "zip"
|
||||||
t.string "country_code"
|
t.string "country_code"
|
||||||
t.string "state"
|
t.string "state"
|
||||||
|
t.integer "legacy_id"
|
||||||
end
|
end
|
||||||
|
|
||||||
add_index "contacts", ["code"], name: "index_contacts_on_code", using: :btree
|
add_index "contacts", ["code"], name: "index_contacts_on_code", using: :btree
|
||||||
|
@ -111,22 +108,6 @@ ActiveRecord::Schema.define(version: 20150330083700) do
|
||||||
t.string "updator_str"
|
t.string "updator_str"
|
||||||
end
|
end
|
||||||
|
|
||||||
create_table "delayed_jobs", force: :cascade do |t|
|
|
||||||
t.integer "priority", default: 0, null: false
|
|
||||||
t.integer "attempts", default: 0, null: false
|
|
||||||
t.text "handler", null: false
|
|
||||||
t.text "last_error"
|
|
||||||
t.datetime "run_at"
|
|
||||||
t.datetime "locked_at"
|
|
||||||
t.datetime "failed_at"
|
|
||||||
t.string "locked_by"
|
|
||||||
t.string "queue"
|
|
||||||
t.datetime "created_at"
|
|
||||||
t.datetime "updated_at"
|
|
||||||
end
|
|
||||||
|
|
||||||
add_index "delayed_jobs", ["priority", "run_at"], name: "delayed_jobs_priority", using: :btree
|
|
||||||
|
|
||||||
create_table "delegation_signers", force: :cascade do |t|
|
create_table "delegation_signers", force: :cascade do |t|
|
||||||
t.integer "domain_id"
|
t.integer "domain_id"
|
||||||
t.string "key_tag"
|
t.string "key_tag"
|
||||||
|
@ -152,6 +133,7 @@ ActiveRecord::Schema.define(version: 20150330083700) do
|
||||||
t.string "ds_digest"
|
t.string "ds_digest"
|
||||||
t.string "creator_str"
|
t.string "creator_str"
|
||||||
t.string "updator_str"
|
t.string "updator_str"
|
||||||
|
t.integer "legacy_domain_id"
|
||||||
end
|
end
|
||||||
|
|
||||||
create_table "domain_contacts", force: :cascade do |t|
|
create_table "domain_contacts", force: :cascade do |t|
|
||||||
|
@ -164,6 +146,8 @@ ActiveRecord::Schema.define(version: 20150330083700) do
|
||||||
t.string "creator_str"
|
t.string "creator_str"
|
||||||
t.string "updator_str"
|
t.string "updator_str"
|
||||||
t.string "type"
|
t.string "type"
|
||||||
|
t.integer "legacy_domain_id"
|
||||||
|
t.integer "legacy_contact_id"
|
||||||
end
|
end
|
||||||
|
|
||||||
create_table "domain_statuses", force: :cascade do |t|
|
create_table "domain_statuses", force: :cascade do |t|
|
||||||
|
@ -172,6 +156,7 @@ ActiveRecord::Schema.define(version: 20150330083700) do
|
||||||
t.string "value"
|
t.string "value"
|
||||||
t.string "creator_str"
|
t.string "creator_str"
|
||||||
t.string "updator_str"
|
t.string "updator_str"
|
||||||
|
t.integer "legacy_domain_id"
|
||||||
end
|
end
|
||||||
|
|
||||||
create_table "domain_transfers", force: :cascade do |t|
|
create_table "domain_transfers", force: :cascade do |t|
|
||||||
|
@ -202,10 +187,13 @@ ActiveRecord::Schema.define(version: 20150330083700) do
|
||||||
t.string "name_dirty"
|
t.string "name_dirty"
|
||||||
t.string "name_puny"
|
t.string "name_puny"
|
||||||
t.integer "period"
|
t.integer "period"
|
||||||
t.string "period_unit", limit: 1
|
t.string "period_unit", limit: 1
|
||||||
t.string "creator_str"
|
t.string "creator_str"
|
||||||
t.string "updator_str"
|
t.string "updator_str"
|
||||||
t.text "whois_body"
|
t.text "whois_body"
|
||||||
|
t.integer "legacy_id"
|
||||||
|
t.integer "legacy_registrar_id"
|
||||||
|
t.integer "legacy_registrant_id"
|
||||||
end
|
end
|
||||||
|
|
||||||
create_table "epp_sessions", force: :cascade do |t|
|
create_table "epp_sessions", force: :cascade do |t|
|
||||||
|
@ -573,13 +561,13 @@ ActiveRecord::Schema.define(version: 20150330083700) do
|
||||||
t.integer "domain_id"
|
t.integer "domain_id"
|
||||||
t.string "creator_str"
|
t.string "creator_str"
|
||||||
t.string "updator_str"
|
t.string "updator_str"
|
||||||
|
t.integer "legacy_domain_id"
|
||||||
end
|
end
|
||||||
|
|
||||||
create_table "registrars", force: :cascade do |t|
|
create_table "registrars", force: :cascade do |t|
|
||||||
t.string "name"
|
t.string "name"
|
||||||
t.string "reg_no"
|
t.string "reg_no"
|
||||||
t.string "vat_no"
|
t.string "vat_no"
|
||||||
t.integer "country_id"
|
|
||||||
t.string "billing_address"
|
t.string "billing_address"
|
||||||
t.datetime "created_at"
|
t.datetime "created_at"
|
||||||
t.datetime "updated_at"
|
t.datetime "updated_at"
|
||||||
|
@ -594,6 +582,10 @@ ActiveRecord::Schema.define(version: 20150330083700) do
|
||||||
t.string "street"
|
t.string "street"
|
||||||
t.string "zip"
|
t.string "zip"
|
||||||
t.string "code"
|
t.string "code"
|
||||||
|
t.string "url"
|
||||||
|
t.string "directo_handle"
|
||||||
|
t.boolean "vat"
|
||||||
|
t.integer "legacy_id"
|
||||||
end
|
end
|
||||||
|
|
||||||
add_index "registrars", ["code"], name: "index_registrars_on_code", using: :btree
|
add_index "registrars", ["code"], name: "index_registrars_on_code", using: :btree
|
||||||
|
@ -631,7 +623,6 @@ ActiveRecord::Schema.define(version: 20150330083700) do
|
||||||
t.inet "current_sign_in_ip"
|
t.inet "current_sign_in_ip"
|
||||||
t.inet "last_sign_in_ip"
|
t.inet "last_sign_in_ip"
|
||||||
t.string "identity_code"
|
t.string "identity_code"
|
||||||
t.integer "country_id"
|
|
||||||
t.string "roles", array: true
|
t.string "roles", array: true
|
||||||
t.string "creator_str"
|
t.string "creator_str"
|
||||||
t.string "updator_str"
|
t.string "updator_str"
|
||||||
|
|
454
lib/tasks/import.rake
Normal file
454
lib/tasks/import.rake
Normal file
|
@ -0,0 +1,454 @@
|
||||||
|
namespace :import do
|
||||||
|
# README
|
||||||
|
#
|
||||||
|
# 1) ESTABLISH CONNECTION TO FRED DATABASE
|
||||||
|
# ----------------------------------------
|
||||||
|
#
|
||||||
|
# Add 'fred' database connection settings to config/database.yml
|
||||||
|
# Example config:
|
||||||
|
#
|
||||||
|
# fred:
|
||||||
|
# host: localhost
|
||||||
|
# adapter: postgresql
|
||||||
|
# encoding: unicode
|
||||||
|
# pool: 5
|
||||||
|
# username: fred
|
||||||
|
# password: fred
|
||||||
|
#
|
||||||
|
# Verify you have correctly connected to fred database:
|
||||||
|
# Open Rails console:
|
||||||
|
#
|
||||||
|
# cd your_registry_deploy_path/current/
|
||||||
|
# RAILS_ENV=production bundle exec rails c
|
||||||
|
# in console: Legacy::Contact.last
|
||||||
|
# in console: exit
|
||||||
|
#
|
||||||
|
# In console you should get Last Legacy::Contact object.
|
||||||
|
# If you get any errors, scroll up and read first lines
|
||||||
|
# to figure out what went wrong to connect to fred database.
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# 2) START IMPORT
|
||||||
|
# ---------------
|
||||||
|
#
|
||||||
|
# Import scrip does not write anything to fred database.
|
||||||
|
# Script is implemented this way, you can run it multiple times
|
||||||
|
# in case you need it. However already imported object are
|
||||||
|
# not reimported, thus if some object has been updated meanwhile
|
||||||
|
# in fred database, those updates will be missed and thous should
|
||||||
|
# be carried over manually. All new object in fred will be
|
||||||
|
# imported in multiple import script runs.
|
||||||
|
#
|
||||||
|
# Start all import:
|
||||||
|
#
|
||||||
|
# cd your_registry_deploy_path/current/
|
||||||
|
# RAILS_ENV=production bundle exec rails import:all
|
||||||
|
#
|
||||||
|
# If you wish to import one by one, please follow individual import order
|
||||||
|
# from task 'Import all' tasks in this script.
|
||||||
|
|
||||||
|
desc 'Import all'
|
||||||
|
task all: :environment do
|
||||||
|
Rake::Task['import:registrars'].invoke
|
||||||
|
Rake::Task['import:contacts'].invoke
|
||||||
|
Rake::Task['import:domains'].invoke
|
||||||
|
end
|
||||||
|
|
||||||
|
desc 'Import registrars'
|
||||||
|
task registrars: :environment do
|
||||||
|
start = Time.now.to_f
|
||||||
|
puts '-----> Importing registrars...'
|
||||||
|
|
||||||
|
registrars = []
|
||||||
|
existing_ids = Registrar.pluck(:legacy_id)
|
||||||
|
user = "rake-#{`whoami`.strip} #{ARGV.join ' '}"
|
||||||
|
count = 0
|
||||||
|
|
||||||
|
Legacy::Registrar.all.each do |x|
|
||||||
|
next if existing_ids.include?(x.id)
|
||||||
|
count += 1
|
||||||
|
|
||||||
|
registrars << Registrar.new({
|
||||||
|
name: x.organization.try(:strip).presence || x.name.try(:strip).presence || x.handle.try(:strip).presence,
|
||||||
|
reg_no: x.ico.try(:strip),
|
||||||
|
vat_no: x.dic.try(:strip),
|
||||||
|
billing_address: nil,
|
||||||
|
phone: x.telephone.try(:strip),
|
||||||
|
email: x.email.try(:strip),
|
||||||
|
billing_email: x.billing_address.try(:strip),
|
||||||
|
country_code: x.country.try(:strip),
|
||||||
|
state: x.stateorprovince.try(:strip),
|
||||||
|
city: x.city.try(:strip),
|
||||||
|
street: x.street1.try(:strip),
|
||||||
|
zip: x.postalcode.try(:strip),
|
||||||
|
url: x.url.try(:strip),
|
||||||
|
directo_handle: x.directo_handle.try(:strip),
|
||||||
|
vat: x.vat,
|
||||||
|
legacy_id: x.id,
|
||||||
|
creator_str: user,
|
||||||
|
updator_str: user
|
||||||
|
})
|
||||||
|
end
|
||||||
|
|
||||||
|
Registrar.import registrars, validate: false
|
||||||
|
|
||||||
|
puts "-----> Imported #{count} new registrars in #{(Time.now.to_f - start).round(2)} seconds"
|
||||||
|
end
|
||||||
|
|
||||||
|
desc 'Import contacts'
|
||||||
|
task contacts: :environment do
|
||||||
|
start = Time.now.to_f
|
||||||
|
puts '-----> Importing contacts...'
|
||||||
|
|
||||||
|
# 1;"RC";"born number" # not used
|
||||||
|
# 2;"OP";"identity card number" -> priv
|
||||||
|
# 3;"PASS";"passwport" ->
|
||||||
|
# 4;"ICO";"organization identification number"
|
||||||
|
# 5;"MPSV";"social system identification" # not used
|
||||||
|
# 6;"BIRTHDAY";"day of birth"
|
||||||
|
|
||||||
|
ident_type_map = {
|
||||||
|
2 => Contact::PRIV,
|
||||||
|
3 => Contact::PASSPORT,
|
||||||
|
4 => Contact::BIC,
|
||||||
|
6 => Contact::BIRTHDAY
|
||||||
|
}
|
||||||
|
|
||||||
|
contact_columns = %w(
|
||||||
|
code
|
||||||
|
phone
|
||||||
|
email
|
||||||
|
fax
|
||||||
|
created_at
|
||||||
|
ident
|
||||||
|
ident_type
|
||||||
|
auth_info
|
||||||
|
name
|
||||||
|
org_name
|
||||||
|
registrar_id
|
||||||
|
creator_str
|
||||||
|
updator_str
|
||||||
|
ident_country_code
|
||||||
|
legacy_id
|
||||||
|
street
|
||||||
|
city
|
||||||
|
zip
|
||||||
|
state
|
||||||
|
country_code
|
||||||
|
)
|
||||||
|
|
||||||
|
contacts = []
|
||||||
|
existing_contact_ids = Contact.pluck(:legacy_id)
|
||||||
|
user = "rake-#{`whoami`.strip} #{ARGV.join ' '}"
|
||||||
|
count = 0
|
||||||
|
|
||||||
|
Legacy::Contact.includes(:object_registry, :object, object_registry: :registrar)
|
||||||
|
.find_each(batch_size: 10000).with_index do |x, index|
|
||||||
|
|
||||||
|
next if existing_contact_ids.include?(x.id)
|
||||||
|
count += 1
|
||||||
|
|
||||||
|
begin
|
||||||
|
contacts << [
|
||||||
|
x.object_registry.name.try(:strip),
|
||||||
|
x.telephone.try(:strip),
|
||||||
|
x.email.try(:strip),
|
||||||
|
x.fax.try(:strip),
|
||||||
|
x.object_registry.try(:crdate),
|
||||||
|
x.ssn.try(:strip),
|
||||||
|
ident_type_map[x.ssntype],
|
||||||
|
x.object.authinfopw.try(:strip),
|
||||||
|
x.name.try(:strip),
|
||||||
|
x.organization.try(:strip),
|
||||||
|
x.object_registry.try(:registrar).try(:id),
|
||||||
|
user,
|
||||||
|
user,
|
||||||
|
x.country.try(:strip),
|
||||||
|
x.id,
|
||||||
|
[x.street1.try(:strip), x.street2.try(:strip), x.street3.try(:strip)].join('\n'),
|
||||||
|
x.city.try(:strip),
|
||||||
|
x.postalcode.try(:strip),
|
||||||
|
x.stateorprovince.try(:strip),
|
||||||
|
x.country.try(:strip)
|
||||||
|
]
|
||||||
|
|
||||||
|
if contacts.size % 10000 == 0
|
||||||
|
Contact.import contact_columns, contacts, validate: false
|
||||||
|
contacts = []
|
||||||
|
end
|
||||||
|
rescue => e
|
||||||
|
puts "ERROR on index #{index}"
|
||||||
|
puts e
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
Contact.import contact_columns, contacts, validate: false
|
||||||
|
puts "-----> Imported #{count} new contacts in #{(Time.now.to_f - start).round(2)} seconds"
|
||||||
|
end
|
||||||
|
|
||||||
|
desc 'Import domains'
|
||||||
|
task domains: :environment do
|
||||||
|
start = Time.now.to_f
|
||||||
|
puts '-----> Importing domains...'
|
||||||
|
|
||||||
|
domain_columns = %w(
|
||||||
|
name
|
||||||
|
registered_at
|
||||||
|
valid_from
|
||||||
|
valid_to
|
||||||
|
auth_info
|
||||||
|
created_at
|
||||||
|
name_dirty
|
||||||
|
name_puny
|
||||||
|
period
|
||||||
|
period_unit
|
||||||
|
creator_str
|
||||||
|
updator_str
|
||||||
|
legacy_id
|
||||||
|
legacy_registrar_id
|
||||||
|
legacy_registrant_id
|
||||||
|
)
|
||||||
|
|
||||||
|
domain_contact_columns = %w(
|
||||||
|
contact_type
|
||||||
|
creator_str
|
||||||
|
updator_str
|
||||||
|
legacy_domain_id
|
||||||
|
legacy_contact_id
|
||||||
|
)
|
||||||
|
|
||||||
|
domain_status_columns = %w(
|
||||||
|
description
|
||||||
|
value
|
||||||
|
creator_str
|
||||||
|
updator_str
|
||||||
|
legacy_domain_id
|
||||||
|
)
|
||||||
|
|
||||||
|
nameserver_columns = %w(
|
||||||
|
hostname
|
||||||
|
ipv4
|
||||||
|
ipv6
|
||||||
|
creator_str
|
||||||
|
updator_str
|
||||||
|
legacy_domain_id
|
||||||
|
)
|
||||||
|
|
||||||
|
dnskey_columns = %w(
|
||||||
|
flags
|
||||||
|
protocol
|
||||||
|
alg
|
||||||
|
public_key
|
||||||
|
ds_alg
|
||||||
|
ds_digest_type
|
||||||
|
creator_str
|
||||||
|
updator_str
|
||||||
|
legacy_domain_id
|
||||||
|
)
|
||||||
|
|
||||||
|
domains, nameservers, dnskeys, domain_statuses, domain_contacts = [], [], [], [], []
|
||||||
|
existing_domain_ids = Domain.pluck(:legacy_id)
|
||||||
|
user = "rake-#{`whoami`.strip} #{ARGV.join ' '}"
|
||||||
|
count = 0
|
||||||
|
|
||||||
|
Legacy::Domain.includes(
|
||||||
|
:object_registry,
|
||||||
|
:object,
|
||||||
|
:nsset,
|
||||||
|
:object_states,
|
||||||
|
:dnskeys,
|
||||||
|
:domain_contact_maps,
|
||||||
|
nsset: { hosts: :host_ipaddr_maps }
|
||||||
|
).find_each(batch_size: 10000).with_index do |x, index|
|
||||||
|
next if existing_domain_ids.include?(x.id)
|
||||||
|
count += 1
|
||||||
|
|
||||||
|
begin
|
||||||
|
domains << [
|
||||||
|
x.object_registry.name.try(:strip),
|
||||||
|
x.object_registry.try(:crdate),
|
||||||
|
x.object_registry.try(:crdate),
|
||||||
|
x.exdate,
|
||||||
|
x.object.authinfopw.try(:strip),
|
||||||
|
x.object_registry.try(:crdate),
|
||||||
|
x.object_registry.name.try(:strip),
|
||||||
|
SimpleIDN.to_ascii(x.object_registry.name.try(:strip)),
|
||||||
|
1,
|
||||||
|
'y',
|
||||||
|
user,
|
||||||
|
user,
|
||||||
|
x.id,
|
||||||
|
x.object_registry.try(:crid),
|
||||||
|
x.registrant
|
||||||
|
]
|
||||||
|
|
||||||
|
# admin contacts
|
||||||
|
x.domain_contact_maps.each do |dc|
|
||||||
|
domain_contacts << [
|
||||||
|
'admin',
|
||||||
|
user,
|
||||||
|
user,
|
||||||
|
x.id,
|
||||||
|
dc.contactid
|
||||||
|
]
|
||||||
|
end
|
||||||
|
|
||||||
|
# tech contacts
|
||||||
|
x.nsset_contact_maps.each do |dc|
|
||||||
|
domain_contacts << [
|
||||||
|
'tech',
|
||||||
|
user,
|
||||||
|
user,
|
||||||
|
x.id,
|
||||||
|
dc.contactid
|
||||||
|
]
|
||||||
|
end
|
||||||
|
|
||||||
|
# domain statuses
|
||||||
|
x.object_states.each do |state|
|
||||||
|
next if state.name.blank?
|
||||||
|
domain_statuses << [
|
||||||
|
state.desc,
|
||||||
|
state.name,
|
||||||
|
user,
|
||||||
|
user,
|
||||||
|
x.id
|
||||||
|
]
|
||||||
|
end
|
||||||
|
|
||||||
|
# nameservers
|
||||||
|
x.nsset.hosts.each do |host|
|
||||||
|
ip_maps = host.host_ipaddr_maps
|
||||||
|
ips = {}
|
||||||
|
ip_maps.each do |ip_map|
|
||||||
|
next unless ip_map.ipaddr
|
||||||
|
ips[:ipv4] = ip_map.ipaddr.to_s if ip_map.ipaddr.ipv4?
|
||||||
|
ips[:ipv6] = ip_map.ipaddr.to_s if ip_map.ipaddr.ipv6?
|
||||||
|
end if ip_maps.any?
|
||||||
|
|
||||||
|
nameservers << [
|
||||||
|
host.fqdn.try(:strip),
|
||||||
|
ips[:ipv4].try(:strip),
|
||||||
|
ips[:ipv6].try(:strip),
|
||||||
|
user,
|
||||||
|
user,
|
||||||
|
x.id
|
||||||
|
]
|
||||||
|
end
|
||||||
|
|
||||||
|
x.dnskeys.each do |key|
|
||||||
|
dnskeys << [
|
||||||
|
key.flags,
|
||||||
|
key.protocol,
|
||||||
|
key.alg,
|
||||||
|
key.key,
|
||||||
|
3, # ds_alg
|
||||||
|
1, # ds_digest_type /SHA1)
|
||||||
|
user,
|
||||||
|
user,
|
||||||
|
x.id
|
||||||
|
]
|
||||||
|
end
|
||||||
|
|
||||||
|
if index % 10000 == 0 && index != 0
|
||||||
|
Domain.import domain_columns, domains, validate: false
|
||||||
|
Nameserver.import nameserver_columns, nameservers, validate: false
|
||||||
|
Dnskey.import dnskey_columns, dnskeys, validate: false
|
||||||
|
DomainStatus.import domain_status_columns, domain_statuses, validate: false
|
||||||
|
DomainContact.import domain_contact_columns, domain_contacts, validate: false
|
||||||
|
domains, nameservers, dnskeys, domain_statuses, domain_contacts = [], [], [], [], []
|
||||||
|
end
|
||||||
|
rescue => e
|
||||||
|
puts "ERROR on index #{index}"
|
||||||
|
puts e
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
Domain.import domain_columns, domains, validate: false
|
||||||
|
Nameserver.import nameserver_columns, nameservers, validate: false
|
||||||
|
Dnskey.import dnskey_columns, dnskeys, validate: false
|
||||||
|
DomainStatus.import domain_status_columns, domain_statuses, validate: false
|
||||||
|
DomainContact.import domain_contact_columns, domain_contacts, validate: false
|
||||||
|
|
||||||
|
puts '-----> Updating relations...'
|
||||||
|
|
||||||
|
# registrant
|
||||||
|
ActiveRecord::Base.connection.execute(
|
||||||
|
"UPDATE domains "\
|
||||||
|
"SET owner_contact_id = contacts.id "\
|
||||||
|
"FROM contacts "\
|
||||||
|
"WHERE contacts.legacy_id = legacy_registrant_id "\
|
||||||
|
"AND legacy_registrant_id IS NOT NULL "\
|
||||||
|
"AND owner_contact_id IS NULL"
|
||||||
|
)
|
||||||
|
|
||||||
|
# registrar
|
||||||
|
ActiveRecord::Base.connection.execute(
|
||||||
|
"UPDATE domains "\
|
||||||
|
"SET registrar_id = registrars.id "\
|
||||||
|
"FROM registrars "\
|
||||||
|
"WHERE registrars.legacy_id = legacy_registrar_id "\
|
||||||
|
"AND legacy_registrar_id IS NOT NULL "\
|
||||||
|
"AND registrar_id IS NULL"
|
||||||
|
)
|
||||||
|
|
||||||
|
# contacts
|
||||||
|
ActiveRecord::Base.connection.execute(
|
||||||
|
"UPDATE domain_contacts "\
|
||||||
|
"SET contact_id = contacts.id "\
|
||||||
|
"FROM contacts "\
|
||||||
|
"WHERE contacts.legacy_id = legacy_contact_id "\
|
||||||
|
"AND legacy_contact_id IS NOT NULL "\
|
||||||
|
"AND contact_id IS NULL"
|
||||||
|
)
|
||||||
|
|
||||||
|
ActiveRecord::Base.connection.execute(
|
||||||
|
"UPDATE domain_contacts "\
|
||||||
|
"SET domain_id = domains.id "\
|
||||||
|
"FROM domains "\
|
||||||
|
"WHERE domains.legacy_id = legacy_domain_id "\
|
||||||
|
"AND legacy_domain_id IS NOT NULL "\
|
||||||
|
"AND domain_id IS NULL"
|
||||||
|
)
|
||||||
|
|
||||||
|
# nameservers
|
||||||
|
ActiveRecord::Base.connection.execute(
|
||||||
|
"UPDATE nameservers "\
|
||||||
|
"SET domain_id = domains.id "\
|
||||||
|
"FROM domains "\
|
||||||
|
"WHERE domains.legacy_id = legacy_domain_id "\
|
||||||
|
"AND legacy_domain_id IS NOT NULL "\
|
||||||
|
"AND domain_id IS NULL"
|
||||||
|
)
|
||||||
|
|
||||||
|
# dnskeys
|
||||||
|
ActiveRecord::Base.connection.execute(
|
||||||
|
"UPDATE dnskeys "\
|
||||||
|
"SET domain_id = domains.id "\
|
||||||
|
"FROM domains "\
|
||||||
|
"WHERE domains.legacy_id = legacy_domain_id "\
|
||||||
|
"AND legacy_domain_id IS NOT NULL "\
|
||||||
|
"AND domain_id IS NULL"
|
||||||
|
)
|
||||||
|
|
||||||
|
# statuses
|
||||||
|
ActiveRecord::Base.connection.execute(
|
||||||
|
"UPDATE domain_statuses "\
|
||||||
|
"SET domain_id = domains.id "\
|
||||||
|
"FROM domains "\
|
||||||
|
"WHERE domains.legacy_id = legacy_domain_id "\
|
||||||
|
"AND legacy_domain_id IS NOT NULL "\
|
||||||
|
"AND domain_id IS NULL"
|
||||||
|
)
|
||||||
|
|
||||||
|
puts '-----> Generating dnskey digests...'
|
||||||
|
|
||||||
|
Dnskey.all.each do |x|
|
||||||
|
x.generate_digest
|
||||||
|
x.generate_ds_key_tag
|
||||||
|
x.save(validate: false)
|
||||||
|
end
|
||||||
|
|
||||||
|
puts "-----> Imported #{count} new domains in #{(Time.now.to_f - start).round(2)} seconds"
|
||||||
|
end
|
||||||
|
end
|
|
@ -75,7 +75,7 @@ describe Domain do
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'should not have whois_body present by default' do
|
it 'should not have whois_body present by default' do
|
||||||
@domain.whois_body.present?.should == false
|
@domain.whois_body.present?.should == true
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'with versioning' do
|
context 'with versioning' do
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue