mirror of
https://github.com/internetee/registry.git
synced 2025-08-05 01:11:43 +02:00
Validate dnskey uniqueness
This commit is contained in:
parent
416128823b
commit
f6ac22df52
5 changed files with 51 additions and 1 deletions
|
@ -53,6 +53,7 @@ class Domain < ActiveRecord::Base
|
|||
validate :validate_tech_contacts_uniqueness
|
||||
validate :validate_admin_contacts_uniqueness
|
||||
validate :validate_domain_statuses_uniqueness
|
||||
validate :validate_dnskeys_uniqueness
|
||||
validate :validate_nameserver_ips
|
||||
|
||||
attr_accessor :owner_contact_typeahead
|
||||
|
@ -148,6 +149,18 @@ class Domain < ActiveRecord::Base
|
|||
end
|
||||
end
|
||||
|
||||
def validate_dnskeys_uniqueness
|
||||
validated = []
|
||||
dnskeys.reject(&:marked_for_destruction?).each do |dnskey|
|
||||
next if dnskey.public_key.blank?
|
||||
existing = dnskeys.select { |x| x.public_key == dnskey.public_key }
|
||||
next unless existing.length > 1
|
||||
validated << dnskey.public_key
|
||||
errors.add(:dnskeys, :invalid) if errors[:dnskeys].blank?
|
||||
dnskey.errors.add(:public_key, :taken)
|
||||
end
|
||||
end
|
||||
|
||||
def validate_period
|
||||
return unless period.present?
|
||||
if period_unit == 'd'
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue