diff options
Diffstat (limited to 'app/controllers')
-rw-r--r-- | app/controllers/api/v1/reports_controller.rb | 26 |
1 files changed, 18 insertions, 8 deletions
diff --git a/app/controllers/api/v1/reports_controller.rb b/app/controllers/api/v1/reports_controller.rb index f83c573cb..e0f9ed232 100644 --- a/app/controllers/api/v1/reports_controller.rb +++ b/app/controllers/api/v1/reports_controller.rb @@ -8,22 +8,32 @@ class Api::V1::ReportsController < ApiController respond_to :json def index - @reports = Report.where(account: current_account) + @reports = current_account.reports end def create - status_ids = report_params[:status_ids].is_a?(Enumerable) ? report_params[:status_ids] : [report_params[:status_ids]] - - @report = Report.create!(account: current_account, - target_account: Account.find(report_params[:account_id]), - status_ids: Status.find(status_ids).pluck(:id), - comment: report_params[:comment]) - + @report = current_account.reports.create!( + target_account: reported_account, + status_ids: reported_status_ids, + comment: report_params[:comment] + ) render :show end private + def reported_status_ids + Status.find(status_ids).pluck(:id) + end + + def status_ids + Array(report_params[:status_ids]) + end + + def reported_account + Account.find(report_params[:account_id]) + end + def report_params params.permit(:account_id, :comment, status_ids: []) end |