Fix ActionController::Parameters in API issue
							parent
							
								
									f722bd2387
								
							
						
					
					
						commit
						4c53af64f0
					
				|  | @ -4,6 +4,12 @@ class Api::V1::AppsController < ApiController | |||
|   respond_to :json | ||||
| 
 | ||||
|   def create | ||||
|     @app = Doorkeeper::Application.create!(name: params[:client_name], redirect_uri: params[:redirect_uris], scopes: (params[:scopes] || Doorkeeper.configuration.default_scopes), website: params[:website]) | ||||
|     @app = Doorkeeper::Application.create!(name: app_params[:client_name], redirect_uri: app_params[:redirect_uris], scopes: (app_params[:scopes] || Doorkeeper.configuration.default_scopes), website: app_params[:website]) | ||||
|   end | ||||
| 
 | ||||
|   private | ||||
| 
 | ||||
|   def app_params | ||||
|     params.permit(:client_name, :redirect_uris, :scopes, :website) | ||||
|   end | ||||
| end | ||||
|  |  | |||
|  | @ -7,7 +7,7 @@ class Api::V1::FollowsController < ApiController | |||
|   respond_to :json | ||||
| 
 | ||||
|   def create | ||||
|     raise ActiveRecord::RecordNotFound if params[:uri].blank? | ||||
|     raise ActiveRecord::RecordNotFound if follow_params[:uri].blank? | ||||
| 
 | ||||
|     @account = FollowService.new.call(current_user.account, target_uri).try(:target_account) | ||||
|     render action: :show | ||||
|  | @ -16,6 +16,10 @@ class Api::V1::FollowsController < ApiController | |||
|   private | ||||
| 
 | ||||
|   def target_uri | ||||
|     params[:uri].strip.gsub(/\A@/, '') | ||||
|     follow_params[:uri].strip.gsub(/\A@/, '') | ||||
|   end | ||||
| 
 | ||||
|   def follow_params | ||||
|     params.permit(:uri) | ||||
|   end | ||||
| end | ||||
|  |  | |||
|  | @ -10,10 +10,16 @@ class Api::V1::MediaController < ApiController | |||
|   respond_to :json | ||||
| 
 | ||||
|   def create | ||||
|     @media = MediaAttachment.create!(account: current_user.account, file: params[:file]) | ||||
|     @media = MediaAttachment.create!(account: current_user.account, file: media_params[:file]) | ||||
|   rescue Paperclip::Errors::NotIdentifiedByImageMagickError | ||||
|     render json: { error: 'File type of uploaded media could not be verified' }, status: 422 | ||||
|   rescue Paperclip::Error | ||||
|     render json: { error: 'Error processing thumbnail for uploaded media' }, status: 500 | ||||
|   end | ||||
| 
 | ||||
|   private | ||||
| 
 | ||||
|   def media_params | ||||
|     params.permit(:file) | ||||
|   end | ||||
| end | ||||
|  |  | |||
|  | @ -12,13 +12,19 @@ class Api::V1::ReportsController < ApiController | |||
|   end | ||||
| 
 | ||||
|   def create | ||||
|     status_ids = params[:status_ids].is_a?(Enumerable) ? params[:status_ids] : [params[:status_ids]] | ||||
|     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(params[:account_id]), | ||||
|                              target_account: Account.find(report_params[:account_id]), | ||||
|                              status_ids: Status.find(status_ids).pluck(:id), | ||||
|                              comment: params[:comment]) | ||||
|                              comment: report_params[:comment]) | ||||
| 
 | ||||
|     render :show | ||||
|   end | ||||
| 
 | ||||
|   private | ||||
| 
 | ||||
|   def report_params | ||||
|     params.permit(:account_id, :comment, status_ids: []) | ||||
|   end | ||||
| end | ||||
|  |  | |||
|  | @ -62,11 +62,11 @@ class Api::V1::StatusesController < ApiController | |||
|   end | ||||
| 
 | ||||
|   def create | ||||
|     @status = PostStatusService.new.call(current_user.account, params[:status], params[:in_reply_to_id].blank? ? nil : Status.find(params[:in_reply_to_id]), media_ids: params[:media_ids], | ||||
|                                                                                                                                                              sensitive: params[:sensitive], | ||||
|                                                                                                                                                              spoiler_text: params[:spoiler_text], | ||||
|                                                                                                                                                              visibility: params[:visibility], | ||||
|                                                                                                                                                              application: doorkeeper_token.application) | ||||
|     @status = PostStatusService.new.call(current_user.account, status_params[:status], status_params[:in_reply_to_id].blank? ? nil : Status.find(status_params[:in_reply_to_id]), media_ids: status_params[:media_ids], | ||||
|                                                                                                                                                                                   sensitive: status_params[:sensitive], | ||||
|                                                                                                                                                                                   spoiler_text: status_params[:spoiler_text], | ||||
|                                                                                                                                                                                   visibility: status_params[:visibility], | ||||
|                                                                                                                                                                                   application: doorkeeper_token.application) | ||||
|     render action: :show | ||||
|   end | ||||
| 
 | ||||
|  | @ -111,4 +111,8 @@ class Api::V1::StatusesController < ApiController | |||
|     @status = Status.find(params[:id]) | ||||
|     raise ActiveRecord::RecordNotFound unless @status.permitted?(current_account) | ||||
|   end | ||||
| 
 | ||||
|   def status_params | ||||
|     params.permit(:status, :in_reply_to_id, :sensitive, :spoiler_text, :visibility, media_ids: []) | ||||
|   end | ||||
| end | ||||
|  |  | |||
|  | @ -188,7 +188,7 @@ class Status < ApplicationRecord | |||
|   end | ||||
| 
 | ||||
|   before_validation do | ||||
|     text.strip! | ||||
|     text&.strip! | ||||
|     spoiler_text&.strip! | ||||
| 
 | ||||
|     self.reply                  = !(in_reply_to_id.nil? && thread.nil?) unless reply | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue