Add rate limit for reporting (#13390)

remotes/1727458204337373841/tmp_refs/heads/signup-info-prompt
Eugen Rochko 2020-04-05 14:40:08 +02:00 committed by GitHub
parent eea0cd8fad
commit c9efb400b4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 8 additions and 3 deletions

View File

@ -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,

View File

@ -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

View File

@ -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'