mirror of
https://github.com/internetee/registry.git
synced 2025-05-17 09:57:23 +02:00
Merge branch 'master' of github.com:internetee/registry
This commit is contained in:
commit
8c20f2697b
9 changed files with 220 additions and 166 deletions
232
Gemfile
232
Gemfile
|
@ -1,172 +1,104 @@
|
||||||
source 'https://rubygems.org'
|
source 'https://rubygems.org'
|
||||||
|
|
||||||
gem 'rails', '4.1.4'
|
# core
|
||||||
|
gem 'rails', '4.1.4' # '4.2.0'
|
||||||
|
gem 'iso8601', '~> 0.8.2' # for dates and times
|
||||||
|
gem 'hashie_rails', '~> 0.0.1'
|
||||||
|
|
||||||
# Use postgresql as the database for Active Record
|
# model related
|
||||||
gem 'pg'
|
gem 'pg', '~> 0.18.0'
|
||||||
|
gem 'ransack', '~> 1.3.0' # '1.5.1' # for searching
|
||||||
|
gem 'paper_trail', '~> 3.0.5' # '3.0.6' # archiving
|
||||||
|
gem 'rails-settings-cached', '~> 0.4.1' # for settings
|
||||||
|
gem 'delayed_job_active_record', '~> 4.0.2' # '4.0.3' # delayed job
|
||||||
|
|
||||||
# Use SCSS for stylesheets
|
# html-xml
|
||||||
gem 'sass-rails', '~> 4.0.3'
|
gem 'haml-rails', '~> 0.5.3' # '0.6.0' haml for views
|
||||||
|
gem 'nokogiri', '~> 1.6.2.1' # For XML parsing
|
||||||
|
|
||||||
# Use Uglifier as compressor for JavaScript assets
|
# style
|
||||||
gem 'uglifier', '>= 1.3.0'
|
gem 'sass-rails', '~> 4.0.3' # '5.0.0' # sass style
|
||||||
|
gem 'bootstrap-sass', '~> 3.2.0.1' # '3.3.1.0' # bootstrap style
|
||||||
|
|
||||||
# Use CoffeeScript for .js.coffee assets and views
|
# js
|
||||||
gem 'coffee-rails', '~> 4.0.0'
|
gem 'uglifier', '>= 1.3.0' # '2.6.1' # minifies js
|
||||||
|
gem 'coffee-rails', '~> 4.0.0' # '4.1.0' # coffeescript support
|
||||||
|
gem 'turbolinks', '~> 2.5.3' # faster page load
|
||||||
|
gem 'jquery-rails', '~> 3.1.1' # '4.0.3' jquery
|
||||||
|
gem 'selectize-rails', '~> 0.11.0' # '0.11.2' # include selectize.js for select
|
||||||
|
gem 'therubyracer', platforms: :ruby
|
||||||
|
|
||||||
# Use jquery as the JavaScript library
|
# view helpers
|
||||||
gem 'jquery-rails'
|
gem 'kaminari', '~> 0.16.1' # pagination
|
||||||
|
gem 'nprogress-rails', '~> 0.1.3.1' # '0.1.6.5' # visual loader
|
||||||
|
|
||||||
# Turbolinks makes following links in your web application faster.
|
# rights
|
||||||
# Read more: https://github.com/rails/turbolinks
|
gem 'devise', '~> 3.3.0' # '3.4.0' # authenitcation
|
||||||
gem 'turbolinks'
|
gem 'cancancan', '~> 1.9.2' # autharization
|
||||||
|
|
||||||
# Build JSON APIs with ease.
|
# rest api
|
||||||
# Read more: https://github.com/rails/jbuilder
|
gem 'grape', '~> 0.10.1'
|
||||||
gem 'jbuilder', '~> 2.0'
|
gem 'jbuilder', '~> 2.2.6' # json api
|
||||||
|
|
||||||
# Use ActiveModel has_secure_password
|
# registry specfic
|
||||||
# gem 'bcrypt', '~> 3.1.7'
|
gem 'simpleidn', '~> 0.0.5' # For punycode
|
||||||
|
gem 'isikukood' # for EE-id validation
|
||||||
|
|
||||||
# Replacement for erb
|
# deploy
|
||||||
gem 'haml-rails', '~> 0.5.3'
|
|
||||||
|
|
||||||
# For XML parsing
|
|
||||||
gem 'nokogiri', '~> 1.6.2.1'
|
|
||||||
|
|
||||||
# For punycode
|
|
||||||
gem 'simpleidn', '~> 0.0.5'
|
|
||||||
|
|
||||||
# for EE-id validation
|
|
||||||
gem 'isikukood'
|
|
||||||
|
|
||||||
# for using bootstrap
|
|
||||||
gem 'bootstrap-sass', '~> 3.2.0.1'
|
|
||||||
|
|
||||||
# for visual loader
|
|
||||||
gem 'nprogress-rails', '~> 0.1.3.1'
|
|
||||||
|
|
||||||
# for pagination
|
|
||||||
gem 'kaminari', '~> 0.16.1'
|
|
||||||
|
|
||||||
# for searching
|
|
||||||
gem 'ransack', '~> 1.3.0'
|
|
||||||
|
|
||||||
# for rights
|
|
||||||
gem 'cancancan', '~> 1.9.2'
|
|
||||||
|
|
||||||
# for login
|
|
||||||
gem 'devise', '~> 3.3.0'
|
|
||||||
|
|
||||||
# for archiving
|
|
||||||
gem 'paper_trail', '~> 3.0.5'
|
|
||||||
|
|
||||||
# for select
|
|
||||||
gem 'selectize-rails', '~> 0.11.0'
|
|
||||||
|
|
||||||
# for settings
|
|
||||||
gem 'rails-settings-cached', '0.4.1'
|
|
||||||
|
|
||||||
# delayed job
|
|
||||||
gem 'delayed_job_active_record', '~> 4.0.2'
|
|
||||||
# to process delayed jobs
|
|
||||||
gem 'daemons'
|
|
||||||
|
|
||||||
# cron
|
|
||||||
gem 'whenever', '~> 0.9.4', require: false
|
gem 'whenever', '~> 0.9.4', require: false
|
||||||
|
gem 'daemons', '~> 1.1.9' # process delayed jobs
|
||||||
# for dates and times
|
|
||||||
gem 'iso8601', '~> 0.8.2'
|
|
||||||
|
|
||||||
group :development, :test do
|
|
||||||
# for inserting dummy data
|
|
||||||
gem 'activerecord-import', '~> 0.6.0'
|
|
||||||
|
|
||||||
gem 'capybara', '~> 2.4.1'
|
|
||||||
# For feature testing
|
|
||||||
# gem 'capybara-webkit', '1.2.0' # Webkit driver didn't work with turbolinks
|
|
||||||
gem 'phantomjs-binaries', '~> 1.9.2.4'
|
|
||||||
gem 'poltergeist', '~> 1.5.1' # We are using PhantomJS instead
|
|
||||||
gem 'phantomjs', '~> 1.9.7.1'
|
|
||||||
|
|
||||||
# For cleaning db in feature and epp tests
|
|
||||||
gem 'database_cleaner', '~> 1.3.0'
|
|
||||||
|
|
||||||
# EPP client
|
|
||||||
gem 'epp', '~> 1.4.0'
|
|
||||||
|
|
||||||
# EPP XMLs
|
|
||||||
gem 'epp-xml', '~> 0.10.3'
|
|
||||||
|
|
||||||
# Replacement for fixtures
|
|
||||||
gem 'fabrication', '~> 2.11.3'
|
|
||||||
|
|
||||||
# Library to generate fake data
|
|
||||||
gem 'faker', '~> 1.3.0'
|
|
||||||
|
|
||||||
# For debugging
|
|
||||||
gem 'pry', '~> 0.10.1'
|
|
||||||
# gem 'pry-byebug', '~> 1.3.3'
|
|
||||||
|
|
||||||
# Testing framework
|
|
||||||
gem 'rspec-rails', '~> 3.0.2'
|
|
||||||
|
|
||||||
# Additional matchers for RSpec
|
|
||||||
gem 'shoulda-matchers', '~> 2.6.1', require: false
|
|
||||||
|
|
||||||
# For unique IDs (used by the epp gem)
|
|
||||||
gem 'uuidtools', '~> 2.1.4'
|
|
||||||
|
|
||||||
# For code review
|
|
||||||
gem 'simplecov', '~> 0.9.1', require: false
|
|
||||||
gem 'rubycritic', '~> 1.1.1'
|
|
||||||
|
|
||||||
# for finding database optimizations
|
|
||||||
gem 'bullet', '~> 4.14.0'
|
|
||||||
|
|
||||||
# for finding future vulnerable gems
|
|
||||||
gem 'bundler-audit'
|
|
||||||
|
|
||||||
# for security audit'
|
|
||||||
gem 'brakeman', '~> 2.6.2', require: false
|
|
||||||
|
|
||||||
# bundle exec rake doc:rails generates the API under doc/api.
|
|
||||||
gem 'sdoc', '~> 0.4.0'
|
|
||||||
|
|
||||||
# faster dev load time
|
|
||||||
gem 'unicorn'
|
|
||||||
|
|
||||||
# for opening browser automatically
|
|
||||||
gem 'launchy', '~> 2.4.3'
|
|
||||||
end
|
|
||||||
|
|
||||||
group :development do
|
group :development do
|
||||||
# Spring speeds up development by keeping your application running in the background.
|
# dev tools
|
||||||
# Read more: https://github.com/rails/spring
|
|
||||||
gem 'spring', '~> 1.2.0'
|
gem 'spring', '~> 1.2.0'
|
||||||
gem 'spring-commands-rspec', '~> 1.0.2'
|
gem 'spring-commands-rspec', '~> 1.0.2'
|
||||||
|
gem 'guard', '~> 2.6.1' # run tests automatically
|
||||||
# for fast deployment
|
|
||||||
gem 'mina', '~> 0.3.1'
|
|
||||||
|
|
||||||
# for finding dead routes and unused actions
|
|
||||||
gem 'traceroute', '~> 0.4.0'
|
|
||||||
|
|
||||||
# for improved errors
|
|
||||||
gem 'better_errors', '~> 2.0.0'
|
|
||||||
gem 'binding_of_caller', '~> 0.7.2'
|
|
||||||
|
|
||||||
# run tests automatically
|
|
||||||
gem 'guard', '~> 2.6.1'
|
|
||||||
|
|
||||||
# rspec support for guard
|
|
||||||
gem 'guard-rspec', '~> 4.3.1'
|
gem 'guard-rspec', '~> 4.3.1'
|
||||||
gem 'rubocop', '~> 0.26.1'
|
gem 'rubocop', '~> 0.26.1'
|
||||||
gem 'guard-rubocop', '~> 1.1.0'
|
gem 'guard-rubocop', '~> 1.1.0'
|
||||||
|
|
||||||
# to generate database diagrams
|
# improved errors
|
||||||
gem 'railroady'
|
gem 'better_errors', '~> 2.0.0'
|
||||||
|
gem 'binding_of_caller', '~> 0.7.2'
|
||||||
|
gem 'traceroute', '~> 0.4.0' # for finding dead routes and unused actions
|
||||||
|
|
||||||
# See https://github.com/sstephenson/execjs#readme for more supported runtimes
|
# deploy
|
||||||
gem 'therubyracer', platforms: :ruby
|
gem 'mina', '~> 0.3.1' # for fast deployment
|
||||||
|
end
|
||||||
|
|
||||||
|
group :development, :test do
|
||||||
|
# test stack
|
||||||
|
gem 'rspec-rails', '~> 3.0.2'
|
||||||
|
gem 'capybara', '~> 2.4.1'
|
||||||
|
gem 'phantomjs-binaries', '~> 1.9.2.4'
|
||||||
|
gem 'poltergeist', '~> 1.5.1' # We are using PhantomJS instead
|
||||||
|
gem 'phantomjs', '~> 1.9.7.1'
|
||||||
|
gem 'fabrication', '~> 2.11.3' # Replacement for fixtures
|
||||||
|
gem 'shoulda-matchers', '~> 2.6.1', require: false # Additional matchers for RSpec
|
||||||
|
gem 'launchy', '~> 2.4.3' # for opening browser automatically
|
||||||
|
|
||||||
|
# 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 'faker', '~> 1.3.0' # Library to generate fake data
|
||||||
|
|
||||||
|
# EPP
|
||||||
|
gem 'epp', '~> 1.4.0' # EPP client
|
||||||
|
gem 'epp-xml', '~> 0.10.3' # EPP XMLs
|
||||||
|
gem 'uuidtools', '~> 2.1.4' # For unique IDs (used by the epp gem)
|
||||||
|
|
||||||
|
# debug
|
||||||
|
gem 'pry', '~> 0.10.1'
|
||||||
|
|
||||||
|
# code review
|
||||||
|
gem 'simplecov', '~> 0.9.1', require: false
|
||||||
|
gem 'rubycritic', '~> 1.1.1'
|
||||||
|
gem 'bullet', '~> 4.14.0' # for finding database optimizations
|
||||||
|
gem 'bundler-audit', '~> 0.3.1' # for finding future vulnerable gems
|
||||||
|
gem 'brakeman', '~> 2.6.2', require: false # for security audit'
|
||||||
|
gem 'sdoc', '~> 0.4.0' # bundle exec rake doc:rails generates the API under doc/api.
|
||||||
|
gem 'railroady', '~> 1.3.0' # to generate database diagrams
|
||||||
|
|
||||||
|
# dev tools
|
||||||
|
gem 'unicorn'
|
||||||
end
|
end
|
||||||
|
|
47
Gemfile.lock
47
Gemfile.lock
|
@ -125,6 +125,16 @@ GEM
|
||||||
ruby_parser (~> 3.1, > 3.1.0)
|
ruby_parser (~> 3.1, > 3.1.0)
|
||||||
sexp_processor (~> 4.4)
|
sexp_processor (~> 4.4)
|
||||||
formatador (0.2.5)
|
formatador (0.2.5)
|
||||||
|
grape (0.10.1)
|
||||||
|
activesupport
|
||||||
|
builder
|
||||||
|
hashie (>= 2.1.0)
|
||||||
|
multi_json (>= 1.3.2)
|
||||||
|
multi_xml (>= 0.5.2)
|
||||||
|
rack (>= 1.3.0)
|
||||||
|
rack-accept
|
||||||
|
rack-mount
|
||||||
|
virtus (>= 1.0.0)
|
||||||
guard (2.6.1)
|
guard (2.6.1)
|
||||||
formatador (>= 0.2.4)
|
formatador (>= 0.2.4)
|
||||||
listen (~> 2.7)
|
listen (~> 2.7)
|
||||||
|
@ -144,6 +154,10 @@ GEM
|
||||||
activesupport (>= 4.0.1)
|
activesupport (>= 4.0.1)
|
||||||
haml (>= 3.1, < 5.0)
|
haml (>= 3.1, < 5.0)
|
||||||
railties (>= 4.0.1)
|
railties (>= 4.0.1)
|
||||||
|
hashie (3.3.2)
|
||||||
|
hashie_rails (0.0.1)
|
||||||
|
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)
|
||||||
|
@ -152,7 +166,7 @@ GEM
|
||||||
ice_nine (0.11.0)
|
ice_nine (0.11.0)
|
||||||
isikukood (0.1.2)
|
isikukood (0.1.2)
|
||||||
iso8601 (0.8.2)
|
iso8601 (0.8.2)
|
||||||
jbuilder (2.2.2)
|
jbuilder (2.2.6)
|
||||||
activesupport (>= 3.0.0, < 5)
|
activesupport (>= 3.0.0, < 5)
|
||||||
multi_json (~> 1.2)
|
multi_json (~> 1.2)
|
||||||
jquery-rails (3.1.2)
|
jquery-rails (3.1.2)
|
||||||
|
@ -183,6 +197,7 @@ GEM
|
||||||
mini_portile (0.6.0)
|
mini_portile (0.6.0)
|
||||||
minitest (5.5.0)
|
minitest (5.5.0)
|
||||||
multi_json (1.10.1)
|
multi_json (1.10.1)
|
||||||
|
multi_xml (0.5.5)
|
||||||
nokogiri (1.6.2.1)
|
nokogiri (1.6.2.1)
|
||||||
mini_portile (= 0.6.0)
|
mini_portile (= 0.6.0)
|
||||||
nprogress-rails (0.1.3.1)
|
nprogress-rails (0.1.3.1)
|
||||||
|
@ -194,7 +209,7 @@ GEM
|
||||||
parser (2.2.0.pre.5)
|
parser (2.2.0.pre.5)
|
||||||
ast (>= 1.1, < 3.0)
|
ast (>= 1.1, < 3.0)
|
||||||
slop (~> 3.4, >= 3.4.5)
|
slop (~> 3.4, >= 3.4.5)
|
||||||
pg (0.17.1)
|
pg (0.18.1)
|
||||||
phantomjs (1.9.7.1)
|
phantomjs (1.9.7.1)
|
||||||
phantomjs-binaries (1.9.2.4)
|
phantomjs-binaries (1.9.2.4)
|
||||||
sys-uname (= 0.9.0)
|
sys-uname (= 0.9.0)
|
||||||
|
@ -212,9 +227,13 @@ GEM
|
||||||
method_source (~> 0.8.1)
|
method_source (~> 0.8.1)
|
||||||
slop (~> 3.4)
|
slop (~> 3.4)
|
||||||
rack (1.5.2)
|
rack (1.5.2)
|
||||||
|
rack-accept (0.4.5)
|
||||||
|
rack (>= 0.4)
|
||||||
|
rack-mount (0.8.3)
|
||||||
|
rack (>= 1.0.0)
|
||||||
rack-test (0.6.2)
|
rack-test (0.6.2)
|
||||||
rack (>= 1.0)
|
rack (>= 1.0)
|
||||||
railroady (1.2.0)
|
railroady (1.3.0)
|
||||||
rails (4.1.4)
|
rails (4.1.4)
|
||||||
actionmailer (= 4.1.4)
|
actionmailer (= 4.1.4)
|
||||||
actionpack (= 4.1.4)
|
actionpack (= 4.1.4)
|
||||||
|
@ -234,7 +253,7 @@ GEM
|
||||||
thor (>= 0.18.1, < 2.0)
|
thor (>= 0.18.1, < 2.0)
|
||||||
rainbow (2.0.0)
|
rainbow (2.0.0)
|
||||||
raindrops (0.13.0)
|
raindrops (0.13.0)
|
||||||
rake (10.3.2)
|
rake (10.4.2)
|
||||||
ransack (1.3.0)
|
ransack (1.3.0)
|
||||||
actionpack (>= 3.0)
|
actionpack (>= 3.0)
|
||||||
activerecord (>= 3.0)
|
activerecord (>= 3.0)
|
||||||
|
@ -343,7 +362,7 @@ GEM
|
||||||
treetop (1.4.15)
|
treetop (1.4.15)
|
||||||
polyglot
|
polyglot
|
||||||
polyglot (>= 0.3.1)
|
polyglot (>= 0.3.1)
|
||||||
turbolinks (2.4.0)
|
turbolinks (2.5.3)
|
||||||
coffee-rails
|
coffee-rails
|
||||||
tzinfo (1.2.2)
|
tzinfo (1.2.2)
|
||||||
thread_safe (~> 0.1)
|
thread_safe (~> 0.1)
|
||||||
|
@ -379,11 +398,11 @@ DEPENDENCIES
|
||||||
bootstrap-sass (~> 3.2.0.1)
|
bootstrap-sass (~> 3.2.0.1)
|
||||||
brakeman (~> 2.6.2)
|
brakeman (~> 2.6.2)
|
||||||
bullet (~> 4.14.0)
|
bullet (~> 4.14.0)
|
||||||
bundler-audit
|
bundler-audit (~> 0.3.1)
|
||||||
cancancan (~> 1.9.2)
|
cancancan (~> 1.9.2)
|
||||||
capybara (~> 2.4.1)
|
capybara (~> 2.4.1)
|
||||||
coffee-rails (~> 4.0.0)
|
coffee-rails (~> 4.0.0)
|
||||||
daemons
|
daemons (~> 1.1.9)
|
||||||
database_cleaner (~> 1.3.0)
|
database_cleaner (~> 1.3.0)
|
||||||
delayed_job_active_record (~> 4.0.2)
|
delayed_job_active_record (~> 4.0.2)
|
||||||
devise (~> 3.3.0)
|
devise (~> 3.3.0)
|
||||||
|
@ -391,28 +410,30 @@ DEPENDENCIES
|
||||||
epp-xml (~> 0.10.3)
|
epp-xml (~> 0.10.3)
|
||||||
fabrication (~> 2.11.3)
|
fabrication (~> 2.11.3)
|
||||||
faker (~> 1.3.0)
|
faker (~> 1.3.0)
|
||||||
|
grape (~> 0.10.1)
|
||||||
guard (~> 2.6.1)
|
guard (~> 2.6.1)
|
||||||
guard-rspec (~> 4.3.1)
|
guard-rspec (~> 4.3.1)
|
||||||
guard-rubocop (~> 1.1.0)
|
guard-rubocop (~> 1.1.0)
|
||||||
haml-rails (~> 0.5.3)
|
haml-rails (~> 0.5.3)
|
||||||
|
hashie_rails (~> 0.0.1)
|
||||||
isikukood
|
isikukood
|
||||||
iso8601 (~> 0.8.2)
|
iso8601 (~> 0.8.2)
|
||||||
jbuilder (~> 2.0)
|
jbuilder (~> 2.2.6)
|
||||||
jquery-rails
|
jquery-rails (~> 3.1.1)
|
||||||
kaminari (~> 0.16.1)
|
kaminari (~> 0.16.1)
|
||||||
launchy (~> 2.4.3)
|
launchy (~> 2.4.3)
|
||||||
mina (~> 0.3.1)
|
mina (~> 0.3.1)
|
||||||
nokogiri (~> 1.6.2.1)
|
nokogiri (~> 1.6.2.1)
|
||||||
nprogress-rails (~> 0.1.3.1)
|
nprogress-rails (~> 0.1.3.1)
|
||||||
paper_trail (~> 3.0.5)
|
paper_trail (~> 3.0.5)
|
||||||
pg
|
pg (~> 0.18.0)
|
||||||
phantomjs (~> 1.9.7.1)
|
phantomjs (~> 1.9.7.1)
|
||||||
phantomjs-binaries (~> 1.9.2.4)
|
phantomjs-binaries (~> 1.9.2.4)
|
||||||
poltergeist (~> 1.5.1)
|
poltergeist (~> 1.5.1)
|
||||||
pry (~> 0.10.1)
|
pry (~> 0.10.1)
|
||||||
railroady
|
railroady (~> 1.3.0)
|
||||||
rails (= 4.1.4)
|
rails (= 4.1.4)
|
||||||
rails-settings-cached (= 0.4.1)
|
rails-settings-cached (~> 0.4.1)
|
||||||
ransack (~> 1.3.0)
|
ransack (~> 1.3.0)
|
||||||
rspec-rails (~> 3.0.2)
|
rspec-rails (~> 3.0.2)
|
||||||
rubocop (~> 0.26.1)
|
rubocop (~> 0.26.1)
|
||||||
|
@ -427,7 +448,7 @@ DEPENDENCIES
|
||||||
spring-commands-rspec (~> 1.0.2)
|
spring-commands-rspec (~> 1.0.2)
|
||||||
therubyracer
|
therubyracer
|
||||||
traceroute (~> 0.4.0)
|
traceroute (~> 0.4.0)
|
||||||
turbolinks
|
turbolinks (~> 2.5.3)
|
||||||
uglifier (>= 1.3.0)
|
uglifier (>= 1.3.0)
|
||||||
unicorn
|
unicorn
|
||||||
uuidtools (~> 2.1.4)
|
uuidtools (~> 2.1.4)
|
||||||
|
|
16
app/api/repp/api.rb
Normal file
16
app/api/repp/api.rb
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
module Repp
|
||||||
|
class API < Grape::API
|
||||||
|
format :json
|
||||||
|
prefix :repp
|
||||||
|
|
||||||
|
http_basic do |username, password|
|
||||||
|
@current_user ||= EppUser.find_by(username: username, password: password)
|
||||||
|
end
|
||||||
|
|
||||||
|
helpers do
|
||||||
|
attr_reader :current_user
|
||||||
|
end
|
||||||
|
|
||||||
|
mount Repp::DomainV1
|
||||||
|
end
|
||||||
|
end
|
16
app/api/repp/domain_v1.rb
Normal file
16
app/api/repp/domain_v1.rb
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
module Repp
|
||||||
|
class DomainV1 < Grape::API
|
||||||
|
version 'v1', using: :path
|
||||||
|
|
||||||
|
resource :domains do
|
||||||
|
desc 'Return list of domains'
|
||||||
|
get '/' do
|
||||||
|
domains = current_user.registrar.domains.page(params[:page])
|
||||||
|
{
|
||||||
|
domains: domains,
|
||||||
|
total_pages: domains.total_pages
|
||||||
|
}
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
|
@ -13,8 +13,8 @@ module Epp::DomainsHelper
|
||||||
end
|
end
|
||||||
|
|
||||||
def check_domain
|
def check_domain
|
||||||
ph = params_hash['epp']['command']['check']['check']
|
names = parsed_frame.css('name').map(&:text)
|
||||||
@domains = Epp::EppDomain.check_availability(ph[:name])
|
@domains = Epp::EppDomain.check_availability(names)
|
||||||
render '/epp/domains/check'
|
render '/epp/domains/check'
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -119,6 +119,12 @@ module Epp::DomainsHelper
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
|
## CHECK
|
||||||
|
|
||||||
|
def validate_domain_check_request
|
||||||
|
epp_request_valid?('name')
|
||||||
|
end
|
||||||
|
|
||||||
## CREATE
|
## CREATE
|
||||||
def validate_domain_create_request
|
def validate_domain_create_request
|
||||||
ret = true
|
ret = true
|
||||||
|
|
|
@ -27,6 +27,9 @@ module Registry
|
||||||
# config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s]
|
# config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s]
|
||||||
# config.i18n.default_locale = :de
|
# config.i18n.default_locale = :de
|
||||||
|
|
||||||
|
config.paths.add File.join('app', 'api'), glob: File.join('**', '*.rb')
|
||||||
|
config.autoload_paths += Dir[Rails.root.join('app', 'api', '*')]
|
||||||
|
|
||||||
config.generators do |g|
|
config.generators do |g|
|
||||||
g.stylesheets false
|
g.stylesheets false
|
||||||
g.javascripts false
|
g.javascripts false
|
||||||
|
|
|
@ -5,6 +5,8 @@ Rails.application.routes.draw do
|
||||||
get 'error/:command', to: 'errors#error', defaults: { format: :xml }
|
get 'error/:command', to: 'errors#error', defaults: { format: :xml }
|
||||||
end
|
end
|
||||||
|
|
||||||
|
mount Repp::API => '/'
|
||||||
|
|
||||||
## ADMIN ROUTES
|
## ADMIN ROUTES
|
||||||
namespace(:admin) do
|
namespace(:admin) do
|
||||||
resources :keyrelays
|
resources :keyrelays
|
||||||
|
|
22
spec/requests/domain_v1_spec.rb
Normal file
22
spec/requests/domain_v1_spec.rb
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
require 'rails_helper'
|
||||||
|
|
||||||
|
describe Repp::DomainV1 do
|
||||||
|
let(:epp_user) { Fabricate(:epp_user) }
|
||||||
|
|
||||||
|
before(:each) { create_settings }
|
||||||
|
|
||||||
|
describe 'GET /repp/v1/domains' do
|
||||||
|
it 'returns domains of the current registrar' do
|
||||||
|
Fabricate.times(2, :domain, registrar: epp_user.registrar)
|
||||||
|
|
||||||
|
get_with_auth '/repp/v1/domains', {}, epp_user
|
||||||
|
expect(response.status).to eq(200)
|
||||||
|
|
||||||
|
body = JSON.parse(response.body)
|
||||||
|
expect(body['total_pages']).to eq(1)
|
||||||
|
|
||||||
|
# TODO: Maybe there is a way not to convert from and to json again
|
||||||
|
expect(body['domains'].to_json).to eq(epp_user.registrar.domains.to_json)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
36
spec/support/request.rb
Normal file
36
spec/support/request.rb
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
module Request
|
||||||
|
def get_with_auth(path, params, epp_user)
|
||||||
|
get path, params, env_with_auth(epp_user)
|
||||||
|
end
|
||||||
|
|
||||||
|
def delete_with_auth(path, epp_user)
|
||||||
|
delete path, params, env_with_auth(epp_user)
|
||||||
|
end
|
||||||
|
|
||||||
|
def post_with_auth(path, params, epp_user)
|
||||||
|
post path, params, env_with_auth(epp_user)
|
||||||
|
end
|
||||||
|
|
||||||
|
def patch_with_auth(path, params, epp_user)
|
||||||
|
patch path, params, env_with_auth(epp_user)
|
||||||
|
end
|
||||||
|
|
||||||
|
def env
|
||||||
|
{
|
||||||
|
'Accept' => 'application/json',
|
||||||
|
'Content-Type' => 'application/json'
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
def env_with_auth(epp_user)
|
||||||
|
env.merge({
|
||||||
|
'HTTP_AUTHORIZATION' => ActionController::HttpAuthentication::Basic.encode_credentials(
|
||||||
|
epp_user.username, epp_user.password
|
||||||
|
)
|
||||||
|
})
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
RSpec.configure do |c|
|
||||||
|
c.include Request, type: :request
|
||||||
|
end
|
Loading…
Add table
Add a link
Reference in a new issue