2019-05-03 06:17:27 +08:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2013-02-06 03:16:51 +08:00
|
|
|
class NotificationSerializer < ApplicationSerializer
|
|
|
|
|
2015-05-06 01:44:19 +08:00
|
|
|
attributes :id,
|
2019-10-22 06:24:41 +08:00
|
|
|
:user_id,
|
2020-07-14 02:07:39 +08:00
|
|
|
:external_id,
|
2015-05-06 01:44:19 +08:00
|
|
|
:notification_type,
|
2013-02-07 23:45:24 +08:00
|
|
|
:read,
|
2021-05-31 14:27:13 +08:00
|
|
|
:high_priority,
|
2013-02-07 23:45:24 +08:00
|
|
|
:created_at,
|
2013-02-06 03:16:51 +08:00
|
|
|
:post_number,
|
|
|
|
:topic_id,
|
2017-05-16 03:38:21 +08:00
|
|
|
:fancy_title,
|
2013-02-06 03:16:51 +08:00
|
|
|
:slug,
|
2014-09-08 23:11:56 +08:00
|
|
|
:data,
|
|
|
|
:is_warning
|
2013-02-06 03:16:51 +08:00
|
|
|
|
2013-02-07 23:45:24 +08:00
|
|
|
def slug
|
2013-02-06 03:16:51 +08:00
|
|
|
Slug.for(object.topic.title) if object.topic.present?
|
|
|
|
end
|
|
|
|
|
2014-09-08 23:11:56 +08:00
|
|
|
def is_warning
|
2014-09-09 01:23:40 +08:00
|
|
|
object.topic.present? && object.topic.subtype == TopicSubtype.moderator_warning
|
2014-09-08 23:11:56 +08:00
|
|
|
end
|
|
|
|
|
2017-05-16 03:38:21 +08:00
|
|
|
def include_fancy_title?
|
|
|
|
object.topic&.fancy_title
|
|
|
|
end
|
|
|
|
|
|
|
|
def fancy_title
|
|
|
|
object.topic.fancy_title
|
|
|
|
end
|
|
|
|
|
2014-09-08 23:11:56 +08:00
|
|
|
def include_is_warning?
|
|
|
|
is_warning
|
|
|
|
end
|
|
|
|
|
2013-02-06 03:16:51 +08:00
|
|
|
def data
|
|
|
|
object.data_hash
|
|
|
|
end
|
|
|
|
|
2020-07-14 02:07:39 +08:00
|
|
|
def external_id
|
|
|
|
object.user&.single_sign_on_record&.external_id
|
|
|
|
end
|
|
|
|
|
|
|
|
def include_external_id?
|
2021-02-08 18:04:33 +08:00
|
|
|
SiteSetting.enable_discourse_connect
|
2020-07-14 02:07:39 +08:00
|
|
|
end
|
|
|
|
|
2013-02-06 03:16:51 +08:00
|
|
|
end
|