diff --git a/Gemfile b/Gemfile index 00fb92d3e..13d8aeb47 100644 --- a/Gemfile +++ b/Gemfile @@ -160,4 +160,7 @@ group :development do gem 'guard-rspec', '~> 4.3.1' gem 'rubocop', '~> 0.26.1' gem 'guard-rubocop', '~> 1.1.0' + + # to generate database diagrams + gem 'railroady' end diff --git a/Gemfile.lock b/Gemfile.lock index 3175db835..e6b6cfc1d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -210,6 +210,7 @@ GEM rack (1.5.2) rack-test (0.6.2) rack (>= 1.0) + railroady (1.2.0) rails (4.1.4) actionmailer (= 4.1.4) actionpack (= 4.1.4) @@ -403,6 +404,7 @@ DEPENDENCIES phantomjs-binaries (~> 1.9.2.4) poltergeist (~> 1.5.1) pry (~> 0.10.1) + railroady rails (= 4.1.4) rails-settings-cached (= 0.4.1) ransack (~> 1.3.0) diff --git a/README.md b/README.md index a1ad4df70..072773aea 100644 --- a/README.md +++ b/README.md @@ -224,7 +224,9 @@ Copy the files from $mod_epp/examples/cgis to /usr/lib/cgi-bin/epp Documentation ------------- -[EPP request-response examples](https://github.com/internetee/registry/blob/master/doc/epp-doc.md) +* [EPP request-response examples](https://github.com/internetee/registry/blob/master/doc/epp-doc.md) +* [Database diagram](https://github.com/internetee/registry/blob/master/doc/models_complete.svg) +* [Controllers diagram](https://github.com/internetee/registry/blob/master/doc/controllers_complete.svg) Deployment diff --git a/doc/controllers_brief.svg b/doc/controllers_brief.svg new file mode 100644 index 000000000..12c11a890 --- /dev/null +++ b/doc/controllers_brief.svg @@ -0,0 +1,101 @@ + + + + + + +controllers_diagram + + +_diagram_info +Controllers diagram +Date: Dec 15 2014 - 14:23 +Migration version: 20141202114457 +Generated by RailRoady 1.2.0 +http://railroady.prestonlee.com + + +ApplicationController + +ApplicationController + + +SessionsController + +SessionsController + + +Epp::CommandsController + +Epp::CommandsController + + +Epp::SessionsController + +Epp::SessionsController + + +Epp::ErrorsController + +Epp::ErrorsController + + +AdminController + +AdminController + + +Admin::UsersController + +Admin::UsersController + + +Admin::EppUsersController + +Admin::EppUsersController + + +Admin::RegistrarsController + +Admin::RegistrarsController + + +Admin::DomainVersionsController + +Admin::DomainVersionsController + + +Admin::DomainsController + +Admin::DomainsController + + +Admin::DelayedJobsController + +Admin::DelayedJobsController + + +Admin::ZonefileSettingsController + +Admin::ZonefileSettingsController + + +Admin::ContactsController + +Admin::ContactsController + + +Admin::SettingsController + +Admin::SettingsController + + +Admin::ZonefilesController + +Admin::ZonefilesController + + + diff --git a/doc/controllers_complete.svg b/doc/controllers_complete.svg new file mode 100644 index 000000000..c4e29780c --- /dev/null +++ b/doc/controllers_complete.svg @@ -0,0 +1,238 @@ + + + + + + +controllers_diagram + + +_diagram_info +Controllers diagram +Date: Dec 15 2014 - 14:23 +Migration version: 20141202114457 +Generated by RailRoady 1.2.0 +http://railroady.prestonlee.com + + +ApplicationController + +ApplicationController + +after_sign_in_path_for + + +_layout + + +SessionsController + +SessionsController + +create +login +switch_registrar + + +_layout + + +Epp::CommandsController + +Epp::CommandsController + + + +_layout +check +create +delete +info +renew +transfer +update +user_for_paper_trail + + +Epp::SessionsController + +Epp::SessionsController + + + +_layout +hello +login +login_params +logout + + +Epp::ErrorsController + +Epp::ErrorsController + +error + + +_layout + + +AdminController + +AdminController + +verify_admin + + +_layout + + +Admin::UsersController + +Admin::UsersController + +create +destroy +edit +index +new +show +update + + +_layout +set_user +user_params + + +Admin::EppUsersController + +Admin::EppUsersController + +create +destroy +edit +index +new +show +update + + +_layout +epp_user_params +set_epp_user + + +Admin::RegistrarsController + +Admin::RegistrarsController + +create +destroy +edit +index +new +search +update + + +_layout +registrar_params +set_registrar + + +Admin::DomainVersionsController + +Admin::DomainVersionsController + +index +show + + +_layout + + +Admin::DomainsController + +Admin::DomainsController + +edit +index +show +update + + +_layout +add_prefix_to_statuses +build_associations +domain_params +set_domain + + +Admin::DelayedJobsController + +Admin::DelayedJobsController + +index + + +_layout + + +Admin::ZonefileSettingsController + +Admin::ZonefileSettingsController + +edit +index +update + + +_layout +set_zonefile_setting +zonefile_setting_params + + +Admin::ContactsController + +Admin::ContactsController + +index +search + + +_layout +set_contact + + +Admin::SettingsController + +Admin::SettingsController + +create +index +show +update + + +_layout +casted_settings +set_setting_group +setting_group_params + + +Admin::ZonefilesController + +Admin::ZonefilesController + +create +index + + +_layout + + + diff --git a/doc/models_brief.svg b/doc/models_brief.svg new file mode 100644 index 000000000..f0e13dbea --- /dev/null +++ b/doc/models_brief.svg @@ -0,0 +1,421 @@ + + + + + + +models_diagram + + +_diagram_info +Models diagram +Date: Dec 15 2014 - 14:23 +Migration version: 20141202114457 +Generated by RailRoady 1.2.0 +http://railroady.prestonlee.com + + +Ability + +Ability + + +ContactDisclosure + +ContactDisclosure + + +DomainStatusVersion + +DomainStatusVersion + + +DomainContact + +DomainContact + + +Right + +Right + + +Role + +Role + + +Right->Role + + + + + +Contact + +Contact + + +Contact->ContactDisclosure + + + +disclosure + + +Contact->DomainContact + + + + + +ContactVersion + +ContactVersion + + +Contact->ContactVersion + + + +versions + + +Address + +Address + + +Contact->Address + + + + + +Domain + +Domain + + +Contact->Domain + + + + + +DomainVersion + +DomainVersion + + +Setting + +Setting + + +Nameserver + +Nameserver + + +NameserverVersion + +NameserverVersion + + +Nameserver->NameserverVersion + + + +versions + + +EppUser + +EppUser + + +EppUser->Contact + + + + + +Country + +Country + + +ZonefileSetting + +ZonefileSetting + + +CachedNameserver + +CachedNameserver + + +Epp::EppDomain + +Epp::EppDomain + + +Epp::DomainContact + +Epp::DomainContact + + +Epp::EppDomain->Epp::DomainContact + + + + + +Epp::Contact + +Epp::Contact + + +Epp::EppDomain->Epp::Contact + + + +tech_contacts + + +Epp::EppDomain->Epp::Contact + + + +admin_contacts + + +Epp::Nameserver + +Epp::Nameserver + + +Epp::EppDomain->Epp::Nameserver + + + + + +Epp::DomainStatus + +Epp::DomainStatus + + +Epp::EppDomain->Epp::DomainStatus + + + + + +Epp::DomainTransfer + +Epp::DomainTransfer + + +Epp::EppDomain->Epp::DomainTransfer + + + + + +Epp::Dnskey + +Epp::Dnskey + + +Epp::EppDomain->Epp::Dnskey + + + + + +Epp::Keyrelay + +Epp::Keyrelay + + +Epp::EppDomain->Epp::Keyrelay + + + + + +Epp::DomainVersion + +Epp::DomainVersion + + +Epp::EppDomain->Epp::DomainVersion + + + +versions + + +Message + +Message + + +EppSession + +EppSession + + +AddressVersion + +AddressVersion + + +Keyrelay + +Keyrelay + + +ReservedDomain + +ReservedDomain + + +Registrar + +Registrar + + +Registrar->Contact + + + + + +Registrar->EppUser + + + + + +Registrar->Message + + + + + +User + +User + + +Registrar->User + + + + + +Registrar->Domain + + + + + +Role->User + + + + + +Address->AddressVersion + + + +versions + + +Domain->DomainContact + + + + + +Domain->Contact + + + +tech_contacts + + +Domain->Contact + + + +admin_contacts + + +Domain->DomainVersion + + + +versions + + +Domain->Nameserver + + + + + +Domain->Keyrelay + + + + + +Dnskey + +Dnskey + + +Domain->Dnskey + + + + + +DomainTransfer + +DomainTransfer + + +Domain->DomainTransfer + + + + + +DomainStatus + +DomainStatus + + +Domain->DomainStatus + + + + + +DomainStatus->DomainStatusVersion + + + +versions + + + diff --git a/doc/models_complete.svg b/doc/models_complete.svg new file mode 100644 index 000000000..3117c3bfa --- /dev/null +++ b/doc/models_complete.svg @@ -0,0 +1,691 @@ + + + + + + +models_diagram + + +_diagram_info +Models diagram +Date: Dec 15 2014 - 14:23 +Migration version: 20141202114457 +Generated by RailRoady 1.2.0 +http://railroady.prestonlee.com + + +Ability + +Ability + + + + +ContactDisclosure + +ContactDisclosure + +id :integer +contact_id :integer +phone :boolean +fax :boolean +email :boolean +created_at :datetime +updated_at :datetime +name :boolean +org_name :boolean +address :boolean + + +DomainStatusVersion + +DomainStatusVersion + +id :integer +item_type :string +item_id :integer +event :string +whodunnit :string +object :text +created_at :datetime + + +DomainContact + +DomainContact + +id :integer +contact_id :integer +domain_id :integer +contact_type :string +created_at :datetime +updated_at :datetime + + +Right + +Right + +id :integer +code :string +created_at :datetime +updated_at :datetime + + +Role + +Role + +id :integer +name :string +created_at :datetime +updated_at :datetime + + +Right->Role + + + + + +Contact + +Contact + +id :integer +code :string +type :string +reg_no :string +phone :string +email :string +fax :string +created_at :datetime +updated_at :datetime +ident :string +ident_type :string +created_by_id :integer +updated_by_id :integer +auth_info :string +name :string +org_name :string +registrar_id :integer + + +Contact->ContactDisclosure + + + +disclosure + + +Contact->DomainContact + + + + + +ContactVersion + +ContactVersion + +id :integer +item_type :string +item_id :integer +event :string +whodunnit :string +object :text +created_at :datetime + + +Contact->ContactVersion + + + +versions + + +Address + +Address + +id :integer +contact_id :integer +country_id :integer +city :string +street :string +zip :string +created_at :datetime +updated_at :datetime +street2 :string +street3 :string + + +Contact->Address + + + + + +Domain + +Domain + +id :integer +name :string +registrar_id :integer +registered_at :datetime +status :string +valid_from :datetime +valid_to :datetime +owner_contact_id :integer +auth_info :string +created_at :datetime +updated_at :datetime +name_dirty :string +name_puny :string +period :integer +period_unit :string + + +Contact->Domain + + + + + +DomainVersion + +DomainVersion + +id :integer +item_type :string +item_id :integer +event :string +whodunnit :string +object :text +created_at :datetime +snapshot :text + + +Setting + +Setting + +id :integer +var :string +value :text +thing_id :integer +thing_type :string +created_at :datetime +updated_at :datetime + + +Nameserver + +Nameserver + +id :integer +hostname :string +ipv4 :string +created_at :datetime +updated_at :datetime +ipv6 :string +domain_id :integer + + +NameserverVersion + +NameserverVersion + +id :integer +item_type :string +item_id :integer +event :string +whodunnit :string +object :text +created_at :datetime + + +Nameserver->NameserverVersion + + + +versions + + +EppUser + +EppUser + +id :integer +registrar_id :integer +username :string +password :string +active :boolean +csr :text +crt :text +created_at :datetime +updated_at :datetime + + +EppUser->Contact + + + + + +Country + +Country + +id :integer +iso :string +name :string +created_at :datetime +updated_at :datetime + + +ZonefileSetting + +ZonefileSetting + +id :integer +origin :string +ttl :integer +refresh :integer +retry :integer +expire :integer +minimum_ttl :integer +email :string +master_nameserver :string +created_at :datetime +updated_at :datetime + + +CachedNameserver + +CachedNameserver + +hostname :string +ipv4 :string +ipv6 :string + + +Epp::EppDomain + +Epp::EppDomain + +id :integer +name :string +registrar_id :integer +registered_at :datetime +status :string +valid_from :datetime +valid_to :datetime +owner_contact_id :integer +auth_info :string +created_at :datetime +updated_at :datetime +name_dirty :string +name_puny :string +period :integer +period_unit :string + + +Epp::DomainContact + +Epp::DomainContact + + +Epp::EppDomain->Epp::DomainContact + + + + + +Epp::Contact + +Epp::Contact + + +Epp::EppDomain->Epp::Contact + + + +tech_contacts + + +Epp::EppDomain->Epp::Contact + + + +admin_contacts + + +Epp::Nameserver + +Epp::Nameserver + + +Epp::EppDomain->Epp::Nameserver + + + + + +Epp::DomainStatus + +Epp::DomainStatus + + +Epp::EppDomain->Epp::DomainStatus + + + + + +Epp::DomainTransfer + +Epp::DomainTransfer + + +Epp::EppDomain->Epp::DomainTransfer + + + + + +Epp::Dnskey + +Epp::Dnskey + + +Epp::EppDomain->Epp::Dnskey + + + + + +Epp::Keyrelay + +Epp::Keyrelay + + +Epp::EppDomain->Epp::Keyrelay + + + + + +Epp::DomainVersion + +Epp::DomainVersion + + +Epp::EppDomain->Epp::DomainVersion + + + +versions + + +Message + +Message + +id :integer +registrar_id :integer +body :string +attached_obj_type :string +attached_obj_id :string +queued :boolean +created_at :datetime +updated_at :datetime + + +EppSession + +EppSession + +id :integer +session_id :string +data :text +created_at :datetime +updated_at :datetime + + +AddressVersion + +AddressVersion + +id :integer +item_type :string +item_id :integer +event :string +whodunnit :string +object :text +created_at :datetime + + +Keyrelay + +Keyrelay + +id :integer +domain_id :integer +pa_date :datetime +key_data_flags :string +key_data_protocol :string +key_data_alg :string +key_data_public_key :text +auth_info_pw :string +expiry_relative :string +expiry_absolute :datetime +requester_id :integer +accepter_id :integer +created_at :datetime +updated_at :datetime + + +ReservedDomain + +ReservedDomain + +id :integer +name :string +created_at :datetime +updated_at :datetime + + +Registrar + +Registrar + +id :integer +name :string +reg_no :string +vat_no :string +address :string +country_id :integer +billing_address :string +created_at :datetime +updated_at :datetime + + +Registrar->Contact + + + + + +Registrar->EppUser + + + + + +Registrar->Message + + + + + +User + +User + +id :integer +username :string +password :string +role_id :integer +created_at :datetime +updated_at :datetime +email :string +sign_in_count :integer +current_sign_in_at :datetime +last_sign_in_at :datetime +current_sign_in_ip :inet +last_sign_in_ip :inet +admin :boolean +identity_code :string +registrar_id :integer +country_id :integer + + +Registrar->User + + + + + +Registrar->Domain + + + + + +Role->User + + + + + +Address->AddressVersion + + + +versions + + +Domain->DomainContact + + + + + +Domain->Contact + + + +tech_contacts + + +Domain->Contact + + + +admin_contacts + + +Domain->DomainVersion + + + +versions + + +Domain->Nameserver + + + + + +Domain->Keyrelay + + + + + +Dnskey + +Dnskey + +id :integer +domain_id :integer +flags :integer +protocol :integer +alg :integer +public_key :text +delegation_signer_id :integer +ds_key_tag :string +ds_alg :integer +ds_digest_type :integer +ds_digest :string + + +Domain->Dnskey + + + + + +DomainTransfer + +DomainTransfer + +id :integer +domain_id :integer +status :string +transfer_requested_at :datetime +transferred_at :datetime +transfer_from_id :integer +transfer_to_id :integer +created_at :datetime +updated_at :datetime +wait_until :datetime + + +Domain->DomainTransfer + + + + + +DomainStatus + +DomainStatus + +id :integer +domain_id :integer +description :string +value :string + + +Domain->DomainStatus + + + + + +DomainStatus->DomainStatusVersion + + + +versions + + +