2019-05-03 06:17:27 +08:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2013-06-29 01:55:34 +08:00
|
|
|
class TopicViewWordpressSerializer < ApplicationSerializer
|
|
|
|
|
|
|
|
# These attributes will be delegated to the topic
|
|
|
|
attributes :id,
|
2020-08-05 09:50:15 +08:00
|
|
|
:category_id,
|
2013-06-29 01:55:34 +08:00
|
|
|
:posts_count,
|
|
|
|
:filtered_posts_count,
|
|
|
|
:posts
|
|
|
|
|
2014-05-30 05:19:49 +08:00
|
|
|
has_many :participants, serializer: UserWordpressSerializer, embed: :objects
|
|
|
|
has_many :posts, serializer: PostWordpressSerializer, embed: :objects
|
2013-06-29 01:55:34 +08:00
|
|
|
|
|
|
|
def id
|
|
|
|
object.topic.id
|
|
|
|
end
|
|
|
|
|
2020-08-05 09:50:15 +08:00
|
|
|
def category_id
|
|
|
|
object.topic.category_id
|
|
|
|
end
|
|
|
|
|
2013-06-29 01:55:34 +08:00
|
|
|
def posts_count
|
|
|
|
object.topic.posts_count
|
|
|
|
end
|
|
|
|
|
|
|
|
def filtered_posts_count
|
2013-06-21 05:20:08 +08:00
|
|
|
object.filtered_post_ids.size
|
2013-06-29 01:55:34 +08:00
|
|
|
end
|
|
|
|
|
|
|
|
def participants
|
|
|
|
object.participants.values
|
|
|
|
end
|
|
|
|
|
|
|
|
def posts
|
|
|
|
object.posts
|
|
|
|
end
|
|
|
|
|
|
|
|
end
|