مراية لـ
https://github.com/postalserver/postal.git
تم المزامنة 2026-01-18 13:59:47 +00:00
initial commit from appmail
هذا الالتزام موجود في:
57
app/models/credential.rb
Normal file
57
app/models/credential.rb
Normal file
@@ -0,0 +1,57 @@
|
||||
# == Schema Information
|
||||
#
|
||||
# Table name: credentials
|
||||
#
|
||||
# id :integer not null, primary key
|
||||
# server_id :integer
|
||||
# key :string(255)
|
||||
# type :string(255)
|
||||
# name :string(255)
|
||||
# options :text(65535)
|
||||
# last_used_at :datetime
|
||||
# created_at :datetime
|
||||
# updated_at :datetime
|
||||
# hold :boolean default(FALSE)
|
||||
#
|
||||
|
||||
class Credential < ApplicationRecord
|
||||
|
||||
belongs_to :server
|
||||
|
||||
TYPES = ['SMTP', 'API']
|
||||
|
||||
validates :key, :presence => true, :uniqueness => true
|
||||
validates :type, :inclusion => {:in => TYPES}
|
||||
validates :name, :presence => true
|
||||
|
||||
random_string :key, :type => :chars, :length => 24, :unique => true
|
||||
|
||||
serialize :options, Hash
|
||||
|
||||
def to_param
|
||||
key
|
||||
end
|
||||
|
||||
def use
|
||||
update_column(:last_used_at, Time.now)
|
||||
end
|
||||
|
||||
def usage_type
|
||||
if last_used_at.nil?
|
||||
'Unused'
|
||||
elsif last_used_at < 1.year.ago
|
||||
'Inactive'
|
||||
elsif last_used_at < 6.months.ago
|
||||
'Dormant'
|
||||
elsif last_used_at < 1.month.ago
|
||||
'Quiet'
|
||||
else
|
||||
'Active'
|
||||
end
|
||||
end
|
||||
|
||||
def to_smtp_plain
|
||||
Base64.encode64("\0XX\0#{self.key}").strip
|
||||
end
|
||||
|
||||
end
|
||||
المرجع في مشكلة جديدة
حظر مستخدم