diff --git a/app/controllers/api/v1/reports_controller.rb b/app/controllers/api/v1/reports_controller.rb index 66c40f6f4d48c04d9cc05b7193fabfea022f6d49..e10083d450f1a57900082208c6b28b2e4355aff6 100644 --- a/app/controllers/api/v1/reports_controller.rb +++ b/app/controllers/api/v1/reports_controller.rb @@ -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, diff --git a/app/lib/rate_limiter.rb b/app/lib/rate_limiter.rb index 68dae9add43c43bc1d702913bbe228c9b32d2078..0e2c9a89437da8de557d2328d67355baf51bad4e 100644 --- a/app/lib/rate_limiter.rb +++ b/app/lib/rate_limiter.rb @@ -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 diff --git a/app/models/report.rb b/app/models/report.rb index 356c23d68bb83a5fff73291975f250fed66de8d3..f31bcfd2e92f146ff91dfd1369eb73706a872185 100644 --- a/app/models/report.rb +++ b/app/models/report.rb @@ -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'