Jez Caudle dcd4efdd4e More CSS simplification
Edit domain names, updates credentials and virtuals
Model domain tests for length and valid characters
2024-05-20 12:41:45 +01:00

16 lines
729 B
Ruby

class Domain < ApplicationRecord
after_create :create_abuse_postmaster
has_many :credentials, dependent: :destroy
has_many :virtuals, dependent: :destroy
validates :domain, presence: true
validates :domain, uniqueness: true
validates :domain, format: { with: /\A(((?!-))(xn--|_)?[a-z0-9-]{0,61}[a-z0-9]{1,1}\.)*(xn--)?([a-z0-9][a-z0-9\-]{0,60}|[a-z0-9-]{1,30}\.[a-z]{2,})\z/, message: "domain not valid" }
private
def create_abuse_postmaster
Virtual.create(email: "abuse@#{self.domain}", destination: "jez@warwickhunt.com", domain_id: self.id)
Virtual.create(email: "postmaster@#{self.domain}", destination: "jez@warwickhunt.com", domain_id: self.id)
end
end