summaryrefslogtreecommitdiff
path: root/app/controllers/admin/batch/posts_controller.rb
blob: ee875aa666f819bc09680453a8700eae9ff3a499 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# frozen_string_literal: true

class Admin::Batch::PostsController < ApplicationController
  def destroy
    authorize! :batch_delete, Post

    reason = params[:deletion_reason]
    succeeded = []

    Post.where(id: params[:post_ids]).find_each do |post|
      PostHider.new(post, user: current_user, reason: reason).save
      succeeded << post.id
    end

    BulkIndexUpdateJob.perform_later 'Post', succeeded

    render json: { failed: [], succeeded: succeeded }
  end
end