diff options
author | Claire <claire.github-309c@sitedethib.com> | 2022-03-02 21:47:03 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-03-02 21:47:03 +0100 |
commit | 3637a0101e1f5095397f190e88f281d603797c32 (patch) | |
tree | 290569d5d454dc1a1478c35b7a4d6755ccfcad2c /app/services | |
parent | d9e30efa5ecc87bc9be7b2e28baaf34bd01032f5 (diff) | |
parent | c69d94ef7e13360e502635fc8bb1bbf8e13dfd74 (diff) |
Merge pull request #1710 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes
Diffstat (limited to 'app/services')
-rw-r--r-- | app/services/report_service.rb | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/app/services/report_service.rb b/app/services/report_service.rb index caf99ab6e..9d784c341 100644 --- a/app/services/report_service.rb +++ b/app/services/report_service.rb @@ -6,10 +6,10 @@ class ReportService < BaseService def call(source_account, target_account, options = {}) @source_account = source_account @target_account = target_account - @status_ids = options.delete(:status_ids) || [] - @comment = options.delete(:comment) || '' - @category = options.delete(:category) || 'other' - @rule_ids = options.delete(:rule_ids) + @status_ids = options.delete(:status_ids).presence || [] + @comment = options.delete(:comment).presence || '' + @category = options.delete(:category).presence || 'other' + @rule_ids = options.delete(:rule_ids).presence @options = options raise ActiveRecord::RecordNotFound if @target_account.suspended? @@ -26,7 +26,7 @@ class ReportService < BaseService def create_report! @report = @source_account.reports.create!( target_account: @target_account, - status_ids: @status_ids, + status_ids: reported_status_ids, comment: @comment, uri: @options[:uri], forwarded: forward?, @@ -56,6 +56,10 @@ class ReportService < BaseService !@target_account.local? && ActiveModel::Type::Boolean.new.cast(@options[:forward]) end + def reported_status_ids + @target_account.statuses.with_discarded.find(Array(@status_ids)).pluck(:id) + end + def payload Oj.dump(serialize_payload(@report, ActivityPub::FlagSerializer, account: some_local_account)) end |