diff options
author | Matt Jankowski <mjankowski@thoughtbot.com> | 2017-05-30 21:13:31 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-05-30 21:13:31 -0400 |
commit | 7c6e02aaf3e3771448ada4197eda66322dff714f (patch) | |
tree | 840096b007547a680fe41fa58443bcc826c1d706 /app/controllers | |
parent | 7f554306523f0ba531df768f21f6609d186406ea (diff) |
Refactor api/v1/reports controller (#3469)
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 |