1
0
مراية لـ https://github.com/postalserver/postal.git تم المزامنة 2025-11-30 21:32:30 +00:00

initial commit from appmail

هذا الالتزام موجود في:
Adam Cooke
2017-04-19 13:07:25 +01:00
الأصل a3eff53792
التزام 2fdba0ceb5
474 ملفات معدلة مع 51228 إضافات و0 حذوفات

عرض الملف

عرض الملف

@@ -0,0 +1,38 @@
module HasMessage
def self.included(base)
base.extend ClassMethods
end
def message
@message ||= self.server.message_db.message(self.message_id)
end
def message=(message)
@message = message
self.message_id = message&.id
end
module ClassMethods
def include_message
queued_messages = all.to_a
server_ids = queued_messages.map(&:server_id).uniq
if server_ids.size == 0
return []
elsif server_ids.size > 1
raise Postal::Error, "'include_message' can only be used on collections of messages from the same server"
end
message_ids = queued_messages.map(&:message_id).uniq
server = queued_messages.first&.server
messages = server.message_db.messages(:where => {:id => message_ids}).each_with_object({}) do |message, hash|
hash[message.id] = message
end
queued_messages.each do |queued_message|
if m = messages[queued_message.message_id]
queued_message.message = m
end
end
end
end
end

عرض الملف

@@ -0,0 +1,19 @@
module HasSoftDestroy
def self.included(base)
base.define_callbacks :soft_destroy
base.class_eval do
scope :deleted, -> { where.not(:deleted_at => nil) }
scope :present, -> { where(:deleted_at => nil) }
end
end
def soft_destroy
run_callbacks :soft_destroy do
self.deleted_at = Time.now
self.save!
ActionDeletionJob.queue(:main, :type => self.class.name, :id => self.id)
end
end
end

عرض الملف

@@ -0,0 +1,11 @@
module HasUUID
def self.included(base)
base.class_eval do
random_string :uuid, :type => :uuid, :unique => true
end
end
def to_param
uuid
end
end