Experimental Async Refreshes API (#34918)
This commit is contained in:
parent
825312d4b0
commit
319fbbbfac
11 changed files with 437 additions and 13 deletions
|
@ -1,6 +1,8 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
class Api::V1::Timelines::HomeController < Api::V1::Timelines::BaseController
|
||||
include AsyncRefreshesConcern
|
||||
|
||||
before_action -> { doorkeeper_authorize! :read, :'read:statuses' }, only: [:show]
|
||||
before_action :require_user!, only: [:show]
|
||||
|
||||
|
@ -12,6 +14,8 @@ class Api::V1::Timelines::HomeController < Api::V1::Timelines::BaseController
|
|||
@relationships = StatusRelationshipsPresenter.new(@statuses, current_user&.account_id)
|
||||
end
|
||||
|
||||
add_async_refresh_header(account_home_feed.async_refresh, retry_seconds: 5)
|
||||
|
||||
render json: @statuses,
|
||||
each_serializer: REST::StatusSerializer,
|
||||
relationships: @relationships,
|
||||
|
|
16
app/controllers/api/v1_alpha/async_refreshes_controller.rb
Normal file
16
app/controllers/api/v1_alpha/async_refreshes_controller.rb
Normal file
|
@ -0,0 +1,16 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
class Api::V1Alpha::AsyncRefreshesController < Api::BaseController
|
||||
before_action -> { doorkeeper_authorize! :read }
|
||||
before_action :require_user!
|
||||
|
||||
def show
|
||||
async_refresh = AsyncRefresh.find(params[:id])
|
||||
|
||||
if async_refresh
|
||||
render json: async_refresh
|
||||
else
|
||||
not_found
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue