# frozen_string_literal: true

class Admin::ArticlesController < Admin::ApplicationController
  def index
    base = Article.all
    base = base.where(verified_status: params[:verified_status]) if params[:verified_status].present?
    base = base.where(user_id: params[:user_id]) if params[:user_id].present?
    base = base.order(id: :desc)
    @pagy, @articles = pagy(
      base,
      items: 20
    )
  end

  def destroy
    @article = Article.find(params[:id])
    @article.update(verified_status: :deleted, deleted_by: current_user)
    flash[:success] = "文章已被软删，不会显示在首页，Admin可以在管理后台恢复"
    audit! :destroy, @article
    redirect_back(fallback_location: root_path)
  end

  def restore
    @article = Article.find(params[:id])
    @article.update(verified_status: :unverified, deleted_by: nil)
    audit! :restore, @article
    flash[:success] = "文章已恢复"
    redirect_back(fallback_location: root_path)
  end
end
