mirror of
https://github.com/internetee/registry.git
synced 2025-05-17 09:57:23 +02:00
keyrelay turned off, ability update
This commit is contained in:
parent
d00564f243
commit
a37f4b2e6a
8 changed files with 36 additions and 19 deletions
|
@ -1,6 +1,4 @@
|
||||||
class Epp::DomainsController < EppController
|
class Epp::DomainsController < EppController
|
||||||
skip_authorization_check # TODO: remove it
|
|
||||||
|
|
||||||
before_action :find_domain, only: [:info, :renew, :update, :transfer, :delete]
|
before_action :find_domain, only: [:info, :renew, :update, :transfer, :delete]
|
||||||
before_action :find_password, only: [:info, :update, :transfer, :delete]
|
before_action :find_password, only: [:info, :update, :transfer, :delete]
|
||||||
|
|
||||||
|
@ -44,6 +42,8 @@ class Epp::DomainsController < EppController
|
||||||
|
|
||||||
# rubocop:disable Metrics/CyclomaticComplexity
|
# rubocop:disable Metrics/CyclomaticComplexity
|
||||||
def delete
|
def delete
|
||||||
|
authorize! :delete, @domain, @password
|
||||||
|
|
||||||
# all includes for bullet
|
# all includes for bullet
|
||||||
@domain = Epp::Domain.where(id: @domain.id).includes(nameservers: :versions).first
|
@domain = Epp::Domain.where(id: @domain.id).includes(nameservers: :versions).first
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,4 @@
|
||||||
class Epp::ErrorsController < EppController
|
class Epp::ErrorsController < EppController
|
||||||
skip_authorization_check # TODO: remove it
|
|
||||||
|
|
||||||
def error
|
def error
|
||||||
epp_errors << { code: params[:code], msg: params[:msg] }
|
epp_errors << { code: params[:code], msg: params[:msg] }
|
||||||
render_epp_response '/epp/error'
|
render_epp_response '/epp/error'
|
||||||
|
|
|
@ -1,9 +1,10 @@
|
||||||
class Epp::KeyrelaysController < EppController
|
class Epp::KeyrelaysController < EppController
|
||||||
skip_authorization_check # TODO: remove it
|
skip_authorization_check # TODO: move authorization under ability
|
||||||
|
|
||||||
# rubocop: disable Metrics/PerceivedComplexity
|
# rubocop: disable Metrics/PerceivedComplexity
|
||||||
# rubocop: disable Metrics/CyclomaticComplexity
|
# rubocop: disable Metrics/CyclomaticComplexity
|
||||||
def keyrelay
|
def keyrelay
|
||||||
|
# keyrelay temp turned off
|
||||||
@domain = find_domain
|
@domain = find_domain
|
||||||
|
|
||||||
handle_errors(@domain) and return unless @domain
|
handle_errors(@domain) and return unless @domain
|
||||||
|
@ -34,6 +35,15 @@ class Epp::KeyrelaysController < EppController
|
||||||
|
|
||||||
def find_domain
|
def find_domain
|
||||||
domain_name = params[:parsed_frame].css('name').text.strip.downcase
|
domain_name = params[:parsed_frame].css('name').text.strip.downcase
|
||||||
|
|
||||||
|
# keyrelay temp turned off
|
||||||
|
epp_errors << {
|
||||||
|
code: '2307',
|
||||||
|
msg: I18n.t(:unimplemented_object_service),
|
||||||
|
value: { obj: 'name', val: domain_name }
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
|
||||||
domain = Epp::Domain.includes(:registrant).find_by(name: domain_name)
|
domain = Epp::Domain.includes(:registrant).find_by(name: domain_name)
|
||||||
|
|
||||||
unless domain
|
unless domain
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
class Epp::PollsController < EppController
|
class Epp::PollsController < EppController
|
||||||
skip_authorization_check # TODO: remove it
|
skip_authorization_check # TODO: move authorization under ability
|
||||||
|
|
||||||
def poll
|
def poll
|
||||||
req_poll if params[:parsed_frame].css('poll').first['op'] == 'req'
|
req_poll if params[:parsed_frame].css('poll').first['op'] == 'req'
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
class SessionsController < Devise::SessionsController
|
class SessionsController < Devise::SessionsController
|
||||||
skip_authorization_check
|
skip_authorization_check only: :create
|
||||||
|
|
||||||
def create
|
def create
|
||||||
# TODO: Create ID Card login here:
|
# TODO: Create ID Card login here:
|
||||||
|
|
|
@ -30,6 +30,7 @@ class Ability
|
||||||
can(:update, Epp::Domain) { |d, pw| d.registrar_id == @user.registrar_id || d.auth_info == pw }
|
can(:update, Epp::Domain) { |d, pw| d.registrar_id == @user.registrar_id || d.auth_info == pw }
|
||||||
can(:transfer, Epp::Domain) { |d, pw| d.auth_info == pw }
|
can(:transfer, Epp::Domain) { |d, pw| d.auth_info == pw }
|
||||||
can(:view_password, Epp::Domain) { |d, pw| d.registrar_id == @user.registrar_id || d.auth_info == pw }
|
can(:view_password, Epp::Domain) { |d, pw| d.registrar_id == @user.registrar_id || d.auth_info == pw }
|
||||||
|
can(:delete, Epp::Domain) { |d, pw| d.registrar_id == @user.registrar_id || d.auth_info == pw }
|
||||||
|
|
||||||
# Epp::Contact
|
# Epp::Contact
|
||||||
can(:info, Epp::Contact) { |c, pw| c.registrar_id == @user.registrar_id || pw.blank? ? true : c.auth_info == pw }
|
can(:info, Epp::Contact) { |c, pw| c.registrar_id == @user.registrar_id || pw.blank? ? true : c.auth_info == pw }
|
||||||
|
|
|
@ -757,3 +757,4 @@ en:
|
||||||
back_to_domains: 'Back to domains'
|
back_to_domains: 'Back to domains'
|
||||||
no_hostnames_replaced: 'No hostnames replaced'
|
no_hostnames_replaced: 'No hostnames replaced'
|
||||||
forbidden_code: 'is forbidden to use'
|
forbidden_code: 'is forbidden to use'
|
||||||
|
unimplemented_object_service: 'Unimplemented object service'
|
||||||
|
|
|
@ -34,15 +34,18 @@ describe 'EPP Keyrelay', epp: true do
|
||||||
|
|
||||||
response = epp_plain_request(xml, :xml)
|
response = epp_plain_request(xml, :xml)
|
||||||
|
|
||||||
response[:msg].should == 'Command completed successfully'
|
response[:msg].should == 'Unimplemented object service'
|
||||||
response[:result_code].should == '1000'
|
response[:result_code].should == '2307'
|
||||||
|
|
||||||
@registrar2.messages.queued.count.should == 1
|
# response[:msg].should == 'Command completed successfully'
|
||||||
|
# response[:result_code].should == '1000'
|
||||||
|
|
||||||
log = ApiLog::EppLog.last
|
# @registrar2.messages.queued.count.should == 1
|
||||||
log.request_command.should == 'keyrelay'
|
|
||||||
log.request_successful.should == true
|
# log = ApiLog::EppLog.last
|
||||||
log.api_user_name.should == '1-api-registrar1'
|
# log.request_command.should == 'keyrelay'
|
||||||
|
# log.request_successful.should == true
|
||||||
|
# log.api_user_name.should == '1-api-registrar1'
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'returns an error when parameters are missing' do
|
it 'returns an error when parameters are missing' do
|
||||||
|
@ -169,12 +172,16 @@ describe 'EPP Keyrelay', epp: true do
|
||||||
})
|
})
|
||||||
|
|
||||||
response = epp_plain_request(xml, :xml)
|
response = epp_plain_request(xml, :xml)
|
||||||
response[:msg].should == 'Command completed successfully'
|
|
||||||
|
|
||||||
docs = Keyrelay.last.legal_documents
|
response[:msg].should == 'Unimplemented object service'
|
||||||
docs.count.should == 1
|
response[:result_code].should == '2307'
|
||||||
docs.first.path.should_not be_blank
|
|
||||||
docs.first.document_type.should == 'pdf'
|
# response[:msg].should == 'Command completed successfully'
|
||||||
|
|
||||||
|
# docs = Keyrelay.last.legal_documents
|
||||||
|
# docs.count.should == 1
|
||||||
|
# docs.first.path.should_not be_blank
|
||||||
|
# docs.first.document_type.should == 'pdf'
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'validates legal document types' do
|
it 'validates legal document types' do
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue