mirror of
https://github.com/internetee/registry.git
synced 2025-07-26 04:28:27 +02:00
Basic archiving overhaul
This commit is contained in:
parent
19846a3abf
commit
3b1e21d6eb
12 changed files with 260 additions and 30 deletions
|
@ -57,10 +57,31 @@ class Domain < ActiveRecord::Base
|
|||
validate :validate_dnskeys_uniqueness
|
||||
validate :validate_nameserver_ips
|
||||
|
||||
attr_accessor :owner_contact_typeahead
|
||||
attr_accessor :owner_contact_typeahead, :update_me
|
||||
|
||||
# archiving
|
||||
has_paper_trail class_name: 'DomainVersion'
|
||||
has_paper_trail class_name: 'DomainVersion', meta: { snapshot: :create_snapshot }
|
||||
|
||||
# TODO Add touch_with_version hook to the DomainContact as well to track add/delete(?) of contact
|
||||
# Not sure what hook to use since Contact.destroy fires update from here so possibly after_create
|
||||
|
||||
def create_snapshot
|
||||
oc = owner_contact.snapshot if owner_contact.is_a?(Contact)
|
||||
{
|
||||
owner_contact: oc,
|
||||
tech_contacts: tech_contacts.map{ |tc| tc.snapshot },
|
||||
admin_contacts: admin_contacts.map{ |ac| ac.snapshot },
|
||||
nameservers: nameservers.map{ |ns| ns.snapshot },
|
||||
domain: make_snapshot
|
||||
}.to_yaml
|
||||
end
|
||||
|
||||
def make_snapshot
|
||||
{
|
||||
name: name,
|
||||
status: status
|
||||
}
|
||||
end
|
||||
|
||||
def name=(value)
|
||||
value.strip!
|
||||
|
@ -254,4 +275,28 @@ class Domain < ActiveRecord::Base
|
|||
return period.to_i.years if unit == 'y'
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
#for archiving
|
||||
#def version_owner
|
||||
# return nil unless owner_contact
|
||||
# owner_contact.id
|
||||
#end
|
||||
|
||||
#def version_admin_contacts
|
||||
# return nil unless admin_contacts
|
||||
# return admin_contacts.map { |ns| ns.id }
|
||||
#end
|
||||
|
||||
#def version_tech_contacts
|
||||
# return nil unless tech_contacts
|
||||
# return tech_contacts.map { |ns| ns.id }
|
||||
#end
|
||||
|
||||
#def version_nameservers
|
||||
# return nil unless nameservers
|
||||
# return nameservers.map { |ns| ns.id }
|
||||
#end
|
||||
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue