diff options
author | Starfall <us@starfall.systems> | 2020-09-14 13:49:06 -0500 |
---|---|---|
committer | Starfall <us@starfall.systems> | 2020-09-14 13:49:06 -0500 |
commit | bc32e736fbd7c6afd59e619c885fa80ab637324a (patch) | |
tree | afc04eaa04aeb45b56c378bdc474428d6fdcc813 /app/controllers/activitypub/outboxes_controller.rb | |
parent | fd0b806603dbd632d259d06af789c7195c7264dc (diff) | |
parent | afa753a890197b188ddf7ba6a8493d4fe361d956 (diff) |
Merge branch 'glitch' into main
Diffstat (limited to 'app/controllers/activitypub/outboxes_controller.rb')
-rw-r--r-- | app/controllers/activitypub/outboxes_controller.rb | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/app/controllers/activitypub/outboxes_controller.rb b/app/controllers/activitypub/outboxes_controller.rb index c33c15255..e066860bf 100644 --- a/app/controllers/activitypub/outboxes_controller.rb +++ b/app/controllers/activitypub/outboxes_controller.rb @@ -20,9 +20,9 @@ class ActivityPub::OutboxesController < ActivityPub::BaseController def outbox_presenter if page_requested? ActivityPub::CollectionPresenter.new( - id: account_outbox_url(@account, page_params), + id: outbox_url(page_params), type: :ordered, - part_of: account_outbox_url(@account), + part_of: outbox_url, prev: prev_page, next: next_page, items: @statuses @@ -32,12 +32,20 @@ class ActivityPub::OutboxesController < ActivityPub::BaseController id: account_outbox_url(@account), type: :ordered, size: @account.statuses_count, - first: account_outbox_url(@account, page: true), - last: account_outbox_url(@account, page: true, min_id: 0) + first: outbox_url(page: true), + last: outbox_url(page: true, min_id: 0) ) end end + def outbox_url(**kwargs) + if params[:account_username].present? + account_outbox_url(@account, **kwargs) + else + instance_actor_outbox_url(**kwargs) + end + end + def next_page account_outbox_url(@account, page: true, max_id: @statuses.last.id) if @statuses.size == LIMIT end @@ -65,4 +73,8 @@ class ActivityPub::OutboxesController < ActivityPub::BaseController def page_params { page: true, max_id: params[:max_id], min_id: params[:min_id] }.compact end + + def set_account + @account = params[:account_username].present? ? Account.find_local!(username_param) : Account.representative + end end |