# 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