Merge branch 'main' into glitch-soc/merge-upstream

Conflicts:
- `app/views/admin/reports/show.html.haml`:
  Conflicts due to glitch-soc's theming system.
This commit is contained in:
Claire
2022-01-17 10:45:25 +01:00
59 changed files with 1219 additions and 598 deletions

View File

@ -9,6 +9,7 @@ class RemoveStatusService < BaseService
# @param [Hash] options
# @option [Boolean] :redraft
# @option [Boolean] :immediate
# @option [Boolean] :preserve
# @option [Boolean] :original_removed
def call(status, **options)
@payload = Oj.dump(event: :delete, payload: status.id.to_s)
@ -44,7 +45,7 @@ class RemoveStatusService < BaseService
remove_media
end
@status.destroy! if @options[:immediate] || !@status.reported?
@status.destroy! if permanently?
else
raise Mastodon::RaceConditionError
end
@ -143,11 +144,15 @@ class RemoveStatusService < BaseService
end
def remove_media
return if @options[:redraft] || (!@options[:immediate] && @status.reported?)
return if @options[:redraft] || !permanently?
@status.media_attachments.destroy_all
end
def permanently?
@options[:immediate] || !(@options[:preserve] || @status.reported?)
end
def lock_options
{ redis: Redis.current, key: "distribute:#{@status.id}", autorelease: 5.minutes.seconds }
end