mirror of
https://github.com/yingziwu/mastodon.git
synced 2026-02-27 04:32:42 +00:00
Add experimental basic quote post authoring (#35355)
This commit is contained in:
parent
81da377d8e
commit
5a88b7f683
25 changed files with 619 additions and 41 deletions
22
app/workers/activitypub/quote_request_worker.rb
Normal file
22
app/workers/activitypub/quote_request_worker.rb
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
class ActivityPub::QuoteRequestWorker < ActivityPub::RawDistributionWorker
|
||||
def perform(quote_id)
|
||||
@quote = Quote.find(quote_id)
|
||||
@account = @quote.account
|
||||
|
||||
distribute!
|
||||
rescue ActiveRecord::RecordNotFound
|
||||
true
|
||||
end
|
||||
|
||||
protected
|
||||
|
||||
def inboxes
|
||||
@inboxes ||= [@quote.quoted_account&.inbox_url].compact
|
||||
end
|
||||
|
||||
def payload
|
||||
@payload ||= Oj.dump(serialize_payload(@quote, ActivityPub::QuoteRequestSerializer, signer: @account))
|
||||
end
|
||||
end
|
||||
|
|
@ -17,10 +17,10 @@ class ActivityPub::StatusUpdateDistributionWorker < ActivityPub::DistributionWor
|
|||
|
||||
def activity
|
||||
ActivityPub::ActivityPresenter.new(
|
||||
id: [ActivityPub::TagManager.instance.uri_for(@status), '#updates/', @status.edited_at.to_i].join,
|
||||
id: [ActivityPub::TagManager.instance.uri_for(@status), '#updates/', @options[:updated_at]&.to_datetime&.to_i || @status.edited_at.to_i].join,
|
||||
type: 'Update',
|
||||
actor: ActivityPub::TagManager.instance.uri_for(@status.account),
|
||||
published: @status.edited_at,
|
||||
published: @options[:updated_at]&.to_datetime || @status.edited_at,
|
||||
to: ActivityPub::TagManager.instance.to(@status),
|
||||
cc: ActivityPub::TagManager.instance.cc(@status),
|
||||
virtual_object: @status
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue