mirror of
https://github.com/internetee/registry.git
synced 2025-05-17 09:57:23 +02:00
Refactor status uniqueness
This commit is contained in:
parent
2982b22921
commit
98c2717539
2 changed files with 14 additions and 15 deletions
|
@ -35,7 +35,6 @@ class Domain < ActiveRecord::Base
|
|||
|
||||
validate :validate_period
|
||||
validate :validate_nameservers_uniqueness
|
||||
validate :validate_statuses_uniqueness
|
||||
|
||||
def name=(value)
|
||||
value.strip!
|
||||
|
@ -58,20 +57,6 @@ class Domain < ActiveRecord::Base
|
|||
errors.add(:nameservers, :out_of_range, { min: min, max: max })
|
||||
end
|
||||
|
||||
def validate_statuses_uniqueness
|
||||
validated = []
|
||||
domain_statuses.each do |status|
|
||||
next if validated.include?(status.value)
|
||||
|
||||
existing = domain_statuses.select { |x| x.value == status.value }
|
||||
if existing.length > 1
|
||||
validated << status.value
|
||||
errors.add(:domain_statuses, :taken)
|
||||
add_epp_error('2302', 'status', status.value, [:domain_statuses, :taken])
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def validate_nameservers_uniqueness
|
||||
validated = []
|
||||
nameservers.each do |ns|
|
||||
|
|
|
@ -22,4 +22,18 @@ class DomainStatus < ActiveRecord::Base
|
|||
PENDING_UPDATE = 'pendingUpdate'
|
||||
|
||||
STATUSES = [CLIENT_DELETE_PROHIBITED, SERVER_DELETE_PROHIBITED, CLIENT_HOLD, SERVER_HOLD, CLIENT_RENEW_PROHIBITED, SERVER_RENEW_PROHIBITED, CLIENT_TRANSFER_PROHIBITED, SERVER_TRANSFER_PROHIBITED, CLIENT_UPDATE_PROHIBITED, SERVER_UPDATE_PROHIBITED, INACTIVE, OK, PENDING_CREATE, PENDING_DELETE, PENDING_RENEW, PENDING_TRANSFER, PENDING_UPDATE]
|
||||
|
||||
EPP_ATTR_MAP = {
|
||||
value: 'status'
|
||||
}
|
||||
|
||||
validates :value, uniqueness: { scope: :domain_id }
|
||||
|
||||
def epp_code_map
|
||||
{
|
||||
'2302' => [ # Object exists
|
||||
[:value, :taken]
|
||||
]
|
||||
}
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue