M app/controllers/api/v1/reports_controller.rb => app/controllers/api/v1/reports_controller.rb +2 -0
@@ 4,6 4,8 @@ class Api::V1::ReportsController < Api::BaseController
before_action -> { doorkeeper_authorize! :write, :'write:reports' }, only: [:create]
before_action :require_user!
+ override_rate_limit_headers :create, family: :reports
+
def create
@report = ReportService.new.call(
current_account,
M app/lib/rate_limiter.rb => app/lib/rate_limiter.rb +3 -3
@@ 14,9 14,9 @@ class RateLimiter
period: 3.hours.freeze,
}.freeze,
- media: {
- limit: 30,
- period: 30.minutes.freeze,
+ reports: {
+ limit: 400,
+ period: 24.hours.freeze,
}.freeze,
}.freeze
M app/models/report.rb => app/models/report.rb +3 -0
@@ 18,6 18,9 @@
class Report < ApplicationRecord
include Paginable
+ include RateLimitable
+
+ rate_limit by: :account, family: :reports
belongs_to :account
belongs_to :target_account, class_name: 'Account'