Add support for ingesting quote policies (#34479)
This commit is contained in:
parent
1a1f3f037d
commit
9ed6a14d45
7 changed files with 181 additions and 4 deletions
|
@ -10,7 +10,7 @@ class ActivityPub::ProcessStatusUpdateService < BaseService
|
|||
|
||||
@activity_json = activity_json
|
||||
@json = object_json
|
||||
@status_parser = ActivityPub::Parser::StatusParser.new(@json)
|
||||
@status_parser = ActivityPub::Parser::StatusParser.new(@json, followers_collection: status.account.followers_url, actor_uri: ActivityPub::TagManager.instance.uri_for(status.account))
|
||||
@uri = @status_parser.uri
|
||||
@status = status
|
||||
@account = status.account
|
||||
|
@ -41,6 +41,7 @@ class ActivityPub::ProcessStatusUpdateService < BaseService
|
|||
Status.transaction do
|
||||
record_previous_edit!
|
||||
update_media_attachments!
|
||||
update_interaction_policies!
|
||||
update_poll!
|
||||
update_immediate_attributes!
|
||||
update_metadata!
|
||||
|
@ -62,12 +63,17 @@ class ActivityPub::ProcessStatusUpdateService < BaseService
|
|||
|
||||
def handle_implicit_update!
|
||||
with_redis_lock("create:#{@uri}") do
|
||||
update_interaction_policies!
|
||||
update_poll!(allow_significant_changes: false)
|
||||
queue_poll_notifications!
|
||||
update_counts!
|
||||
end
|
||||
end
|
||||
|
||||
def update_interaction_policies!
|
||||
@status.quote_approval_policy = @status_parser.quote_policy
|
||||
end
|
||||
|
||||
def update_media_attachments!
|
||||
previous_media_attachments = @status.media_attachments.to_a
|
||||
previous_media_attachments_ids = @status.ordered_media_attachment_ids || previous_media_attachments.map(&:id)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue