مراية لـ
https://github.com/postalserver/postal.git
تم المزامنة 2025-11-30 21:32:30 +00:00
45 أسطر
979 B
Ruby
45 أسطر
979 B
Ruby
# frozen_string_literal: true
|
|
|
|
# == Schema Information
|
|
#
|
|
# Table name: address_endpoints
|
|
#
|
|
# id :integer not null, primary key
|
|
# server_id :integer
|
|
# uuid :string(255)
|
|
# address :string(255)
|
|
# last_used_at :datetime
|
|
# created_at :datetime not null
|
|
# updated_at :datetime not null
|
|
#
|
|
|
|
class AddressEndpoint < ApplicationRecord
|
|
|
|
include HasUUID
|
|
|
|
belongs_to :server
|
|
has_many :routes, as: :endpoint
|
|
has_many :additional_route_endpoints, dependent: :destroy, as: :endpoint
|
|
|
|
validates :address, presence: true, format: { with: /@/ }, uniqueness: { scope: [:server_id], message: "has already been added", case_sensitive: false }
|
|
|
|
before_destroy :update_routes
|
|
|
|
def mark_as_used
|
|
update_column(:last_used_at, Time.now)
|
|
end
|
|
|
|
def update_routes
|
|
routes.each { |r| r.update(endpoint: nil, mode: "Reject") }
|
|
end
|
|
|
|
def description
|
|
address
|
|
end
|
|
|
|
def domain
|
|
address.split("@", 2).last
|
|
end
|
|
|
|
end
|