Add rate limit for reporting (#13390)
This commit is contained in:
		
					parent
					
						
							
								eea0cd8fad
							
						
					
				
			
			
				commit
				
					
						c9efb400b4
					
				
			
		
					 3 changed files with 8 additions and 3 deletions
				
			
		|  | @ -4,6 +4,8 @@ class Api::V1::ReportsController < Api::BaseController | ||||||
|   before_action -> { doorkeeper_authorize! :write, :'write:reports' }, only: [:create] |   before_action -> { doorkeeper_authorize! :write, :'write:reports' }, only: [:create] | ||||||
|   before_action :require_user! |   before_action :require_user! | ||||||
| 
 | 
 | ||||||
|  |   override_rate_limit_headers :create, family: :reports | ||||||
|  | 
 | ||||||
|   def create |   def create | ||||||
|     @report = ReportService.new.call( |     @report = ReportService.new.call( | ||||||
|       current_account, |       current_account, | ||||||
|  |  | ||||||
|  | @ -14,9 +14,9 @@ class RateLimiter | ||||||
|       period: 3.hours.freeze, |       period: 3.hours.freeze, | ||||||
|     }.freeze, |     }.freeze, | ||||||
| 
 | 
 | ||||||
|     media: { |     reports: { | ||||||
|       limit: 30, |       limit: 400, | ||||||
|       period: 30.minutes.freeze, |       period: 24.hours.freeze, | ||||||
|     }.freeze, |     }.freeze, | ||||||
|   }.freeze |   }.freeze | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -18,6 +18,9 @@ | ||||||
| 
 | 
 | ||||||
| class Report < ApplicationRecord | class Report < ApplicationRecord | ||||||
|   include Paginable |   include Paginable | ||||||
|  |   include RateLimitable | ||||||
|  | 
 | ||||||
|  |   rate_limit by: :account, family: :reports | ||||||
| 
 | 
 | ||||||
|   belongs_to :account |   belongs_to :account | ||||||
|   belongs_to :target_account, class_name: 'Account' |   belongs_to :target_account, class_name: 'Account' | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue