mirror of
https://github.com/internetee/registry.git
synced 2025-07-03 01:33:36 +02:00
Refactor EppDomain to Epp::Domain
This commit is contained in:
parent
2c35617745
commit
d558b2eed9
7 changed files with 19 additions and 49 deletions
|
@ -5,8 +5,8 @@ class Epp::DomainsController < EppController
|
|||
before_action :find_password, only: [:info, :update, :transfer, :delete]
|
||||
|
||||
def create
|
||||
authorize! :create, Epp::EppDomain
|
||||
@domain = Epp::EppDomain.new_from_epp(params[:parsed_frame], current_user)
|
||||
authorize! :create, Epp::Domain
|
||||
@domain = Epp::Domain.new_from_epp(params[:parsed_frame], current_user)
|
||||
|
||||
if @domain.errors.any? || !@domain.save
|
||||
handle_errors(@domain)
|
||||
|
@ -21,15 +21,15 @@ class Epp::DomainsController < EppController
|
|||
end
|
||||
|
||||
def check
|
||||
authorize! :check, Epp::EppDomain
|
||||
authorize! :check, Epp::Domain
|
||||
|
||||
names = params[:parsed_frame].css('name').map(&:text)
|
||||
@domains = Epp::EppDomain.check_availability(names)
|
||||
@domains = Epp::Domain.check_availability(names)
|
||||
render_epp_response '/epp/domains/check'
|
||||
end
|
||||
|
||||
def renew
|
||||
authorize! :renew, Epp::EppDomain
|
||||
authorize! :renew, Epp::Domain
|
||||
|
||||
handle_errors(@domain) and return unless @domain.renew(
|
||||
params[:parsed_frame].css('curExpDate').text,
|
||||
|
@ -92,7 +92,7 @@ class Epp::DomainsController < EppController
|
|||
def delete
|
||||
handle_errors(@domain) and return unless @domain.can_be_deleted?
|
||||
|
||||
@domain.attach_legal_document(Epp::EppDomain.parse_legal_document_from_frame(params[:parsed_frame]))
|
||||
@domain.attach_legal_document(Epp::Domain.parse_legal_document_from_frame(params[:parsed_frame]))
|
||||
@domain.save(validate: false)
|
||||
|
||||
handle_errors(@domain) and return unless @domain.destroy
|
||||
|
@ -169,7 +169,7 @@ class Epp::DomainsController < EppController
|
|||
|
||||
def find_domain
|
||||
domain_name = params[:parsed_frame].css('name').text.strip.downcase
|
||||
@domain = Epp::EppDomain.find_by(name: domain_name)
|
||||
@domain = Epp::Domain.find_by(name: domain_name)
|
||||
|
||||
unless @domain
|
||||
epp_errors << {
|
||||
|
|
|
@ -34,7 +34,7 @@ class Epp::KeyrelaysController < EppController
|
|||
|
||||
def find_domain
|
||||
domain_name = params[:parsed_frame].css('name').text.strip.downcase
|
||||
domain = Epp::EppDomain.includes(:owner_contact).find_by(name: domain_name)
|
||||
domain = Epp::Domain.includes(:owner_contact).find_by(name: domain_name)
|
||||
|
||||
unless domain
|
||||
epp_errors << {
|
||||
|
|
|
@ -27,12 +27,12 @@ class Ability
|
|||
can(:view_password, Epp::Contact) { |c| c.registrar_id == @user.registrar_id }
|
||||
|
||||
# Epp::Domain
|
||||
can(:info, Epp::EppDomain) { |d, pw| d.registrar_id == @user.registrar_id || d.auth_info == pw }
|
||||
can(:check, Epp::EppDomain)
|
||||
can(:create, Epp::EppDomain)
|
||||
can(:renew, Epp::EppDomain)
|
||||
can(:update, Epp::EppDomain) { |d, pw| d.registrar_id == @user.registrar_id || d.auth_info == pw }
|
||||
can(:transfer, Epp::EppDomain) { |d, pw| d.auth_info == pw }
|
||||
can(:info, Epp::Domain) { |d, pw| d.registrar_id == @user.registrar_id || d.auth_info == pw }
|
||||
can(:check, Epp::Domain)
|
||||
can(:create, Epp::Domain)
|
||||
can(:renew, Epp::Domain)
|
||||
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 }
|
||||
end
|
||||
|
||||
def user
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# rubocop: disable Metrics/ClassLength
|
||||
class Epp::EppDomain < Domain
|
||||
class Epp::Domain < Domain
|
||||
include EppErrors
|
||||
|
||||
def epp_code_map # rubocop:disable Metrics/MethodLength
|
||||
|
@ -59,7 +59,7 @@ class Epp::EppDomain < Domain
|
|||
end
|
||||
|
||||
def self.new_from_epp(frame, current_user)
|
||||
domain = Epp::EppDomain.new
|
||||
domain = Epp::Domain.new
|
||||
domain.attributes = domain.attrs_from(frame, current_user)
|
||||
domain.attach_default_contacts
|
||||
domain
|
||||
|
@ -105,7 +105,7 @@ class Epp::EppDomain < Domain
|
|||
period = frame.css('period').text
|
||||
at[:period] = (period.to_i == 0) ? 1 : period.to_i
|
||||
|
||||
at[:period_unit] = Epp::EppDomain.parse_period_unit_from_frame(frame) || 'y'
|
||||
at[:period_unit] = Epp::Domain.parse_period_unit_from_frame(frame) || 'y'
|
||||
|
||||
at[:nameservers_attributes] = nameservers_attrs(frame, action)
|
||||
at[:domain_contacts_attributes] = domain_contacts_attrs(frame, action)
|
|
@ -1,30 +0,0 @@
|
|||
module EppParser
|
||||
def domain_rem_params
|
||||
|
||||
|
||||
{
|
||||
nameservers_attributes: to_destroy
|
||||
}
|
||||
end
|
||||
|
||||
def nameservers_attributes
|
||||
ns_list = Epp::EppDomain.parse_nameservers_from_frame(params[:parsed_frame])
|
||||
|
||||
to_destroy = []
|
||||
ns_list.each do |ns_attrs|
|
||||
nameserver = @domain.nameservers.where(ns_attrs).try(:first)
|
||||
if nameserver.blank?
|
||||
epp_errors << {
|
||||
code: '2303',
|
||||
msg: I18n.t('nameserver_not_found'),
|
||||
value: { obj: 'hostAttr', val: ns_attrs[:hostname] }
|
||||
}
|
||||
else
|
||||
to_destroy << {
|
||||
id: nameserver.id,
|
||||
_destroy: 1
|
||||
}
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
|
@ -1 +1 @@
|
|||
Fabricator(:epp_domain, from: :domain, class_name: 'Epp::EppDomain')
|
||||
Fabricator(:epp_domain, from: :domain, class_name: 'Epp::Domain')
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
require 'rails_helper'
|
||||
|
||||
describe Epp::EppDomain do
|
||||
describe Epp::Domain do
|
||||
context 'with sufficient settings' do
|
||||
let(:domain) { Fabricate(:epp_domain) }
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue