mirror of
https://github.com/internetee/registry.git
synced 2025-07-03 01:33:36 +02:00
Add basic keyrelay command, tests
This commit is contained in:
parent
1f5efa78ac
commit
ec721b69c0
10 changed files with 133 additions and 5 deletions
|
@ -3,6 +3,7 @@ class Epp::CommandsController < ApplicationController
|
|||
include Epp::DomainsHelper
|
||||
include Epp::ContactsHelper
|
||||
include Epp::PollHelper
|
||||
include Epp::KeyrelayHelper
|
||||
include Shared::UserStamper
|
||||
helper WhodunnitHelper
|
||||
|
||||
|
|
30
app/helpers/epp/keyrelay_helper.rb
Normal file
30
app/helpers/epp/keyrelay_helper.rb
Normal file
|
@ -0,0 +1,30 @@
|
|||
module Epp::KeyrelayHelper
|
||||
def keyrelay
|
||||
domain = Domain.find_by(name: parsed_frame.css('name').text)
|
||||
|
||||
abs_datetime = parsed_frame.css('absolute').text
|
||||
abs_datetime = abs_datetime.to_date if abs_datetime
|
||||
|
||||
kr = domain.keyrelays.create(
|
||||
domain: domain,
|
||||
pa_date: Time.now,
|
||||
key_data_flags: parsed_frame.css('flags').text,
|
||||
key_data_protocol: parsed_frame.css('protocol').text,
|
||||
key_data_alg: parsed_frame.css('alg').text,
|
||||
key_data_public_key: parsed_frame.css('pubKey').text,
|
||||
auth_info_pw: parsed_frame.css('pw').text,
|
||||
expiry_relative: parsed_frame.css('relative').text,
|
||||
expiry_absolute: abs_datetime,
|
||||
requester: current_epp_user.registrar,
|
||||
accepter: domain.registrar
|
||||
)
|
||||
|
||||
domain.registrar.messages.create(
|
||||
body: 'Key Relay action completed successfully.',
|
||||
attached_obj_type: kr.class.to_s,
|
||||
attached_obj_id: kr.id
|
||||
)
|
||||
|
||||
render '/epp/shared/success'
|
||||
end
|
||||
end
|
|
@ -29,6 +29,9 @@ class Domain < ActiveRecord::Base
|
|||
has_many :domain_transfers, dependent: :delete_all
|
||||
|
||||
has_many :dnskeys, dependent: :delete_all
|
||||
|
||||
has_many :keyrelays
|
||||
|
||||
accepts_nested_attributes_for :dnskeys, allow_destroy: true,
|
||||
reject_if: proc { |attrs| attrs[:public_key].blank? }
|
||||
|
||||
|
|
6
app/models/keyrelay.rb
Normal file
6
app/models/keyrelay.rb
Normal file
|
@ -0,0 +1,6 @@
|
|||
class Keyrelay < ActiveRecord::Base
|
||||
belongs_to :domain
|
||||
|
||||
belongs_to :requester, class_name: 'Registrar'
|
||||
belongs_to :accepter, class_name: 'Registrar'
|
||||
end
|
9
app/views/epp/shared/success.xml.builder
Normal file
9
app/views/epp/shared/success.xml.builder
Normal file
|
@ -0,0 +1,9 @@
|
|||
xml.epp_head do
|
||||
xml.response do
|
||||
xml.result('code' => '1000') do
|
||||
xml.msg 'Command completed successfully'
|
||||
end
|
||||
end
|
||||
|
||||
xml << render('/epp/shared/trID')
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue