# frozen_string_literal: true

class ReviewableExplanationSerializer < ApplicationSerializer
  attributes(
    :id,
    :total_score,
    :scores,
    :min_score_visibility,
    :hide_post_score
  )

  has_many :scores, serializer: ReviewableScoreExplanationSerializer, embed: :objects

  def id
    object[:reviewable].id
  end

  def hide_post_score
    Reviewable.score_required_to_hide_post
  end

  def spam_silence_score
    Reviewable.spam_score_to_silence_new_user
  end

  def min_score_visibility
    Reviewable.min_score_for_priority
  end

  def total_score
    object[:reviewable].score
  end

  def scores
    object[:scores]
  end
end