2021-01-20 13:45:05 +01:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2021-01-30 18:22:00 +01:00
|
|
|
class Email < ApplicationRecord
|
|
|
|
include Elasticsearch::Model
|
2020-12-27 11:45:20 +01:00
|
|
|
|
2021-01-30 18:22:00 +01:00
|
|
|
serialize :from, Array
|
|
|
|
serialize :to, Array
|
|
|
|
serialize :delivered_to, Array
|
|
|
|
serialize :headers, Array
|
|
|
|
serialize :organisations, Array
|
|
|
|
serialize :servers, Array
|
|
|
|
serialize :issues, Array
|
2020-12-27 11:45:20 +01:00
|
|
|
|
2021-02-13 09:07:02 +01:00
|
|
|
scope :inbox, -> { where(inbox: true) }
|
|
|
|
|
2021-01-31 12:34:01 +01:00
|
|
|
paginates_per 10
|
2021-01-26 16:01:09 +01:00
|
|
|
|
2021-01-26 16:00:49 +01:00
|
|
|
def postponed?
|
|
|
|
postponed_until.present? && postponed_until > DateTime.now
|
|
|
|
end
|
|
|
|
|
2021-01-20 13:46:45 +01:00
|
|
|
def header_values(header_name)
|
|
|
|
headers.select { |header|
|
|
|
|
header["name"] == header_name
|
|
|
|
}.filter_map { |header|
|
|
|
|
header["value"]
|
|
|
|
}
|
|
|
|
end
|
2020-10-28 23:53:42 +01:00
|
|
|
end
|