REPP: Refactor handle_errors()

This commit is contained in:
Karl Erik Õunapuu 2020-10-12 16:26:08 +03:00
parent a495c2ab1c
commit b0f9d316c9
No known key found for this signature in database
GPG key ID: C9DD647298A34764

View file

@ -27,26 +27,25 @@ module Repp
def handle_errors(obj = nil, update: false)
@epp_errors ||= []
if obj
obj.construct_epp_errors
@epp_errors += obj.errors[:epp_errors]
end
if update
@epp_errors.each_with_index do |errors, index|
next unless errors[:code] == '2304' && errors[:value].present? &&
errors[:value][:val] == DomainStatus::SERVER_DELETE_PROHIBITED &&
errors[:value][:obj] == 'status'
@epp_errors[index][:value][:val] = DomainStatus::PENDING_UPDATE
end
end
obj&.construct_epp_errors
@epp_errors += obj.errors[:epp_errors] if obj
format_epp_errors if update
@epp_errors.uniq!
render_epp_error
end
def format_epp_errors
@epp_errors.each_with_index do |errors, index|
next unless errors[:code] == '2304' && errors[:value].present? &&
errors[:value][:val] == DomainStatus::SERVER_DELETE_PROHIBITED &&
errors[:value][:obj] == 'status'
@epp_errors[index][:value][:val] = DomainStatus::PENDING_UPDATE
end
end
def render_epp_error
render(
json: { code: @epp_errors[0][:code], message: @epp_errors[0][:msg] },