# frozen_string_literal: true

class ArticlePolicy < ApplicationPolicy
  def update?
    return false if user.blank? || record.blank?
    user.admin? || record.user_id == user.id || user.is_reviewer?
  end

  def approve?
    return false if user.blank?
    user.admin? || user.is_reviewer?
  end

  def disapprove?
    return false if user.blank?
    user.admin? || user.is_reviewer?
  end

  def show?
    if record.verified?
      true
    else
      if user
        (user.admin_group? || user.id == record.user_id)
      else
        false
      end
    end
  end
end
