40 lines
733 B
Ruby
40 lines
733 B
Ruby
# frozen_string_literal: true
|
|
|
|
class TopicViewWordpressSerializer < ApplicationSerializer
|
|
|
|
# These attributes will be delegated to the topic
|
|
attributes :id,
|
|
:category_id,
|
|
:posts_count,
|
|
:filtered_posts_count,
|
|
:posts
|
|
|
|
has_many :participants, serializer: UserWordpressSerializer, embed: :objects
|
|
has_many :posts, serializer: PostWordpressSerializer, embed: :objects
|
|
|
|
def id
|
|
object.topic.id
|
|
end
|
|
|
|
def category_id
|
|
object.topic.category_id
|
|
end
|
|
|
|
def posts_count
|
|
object.topic.posts_count
|
|
end
|
|
|
|
def filtered_posts_count
|
|
object.filtered_post_ids.size
|
|
end
|
|
|
|
def participants
|
|
object.participants.values
|
|
end
|
|
|
|
def posts
|
|
object.posts
|
|
end
|
|
|
|
end
|