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