0
0
Fork 0

Improved /api/v1/accounts/:id/statuses with new params: only_media, exclude_replies

Redirect /:username to /users/:username
Redirect /:username/:id to /users/:username/updates/:id
Updated API documentation and sponsors
This commit is contained in:
Eugen Rochko 2017-03-05 17:27:17 +01:00
parent 07b166af64
commit 5f4e402204
5 changed files with 40 additions and 22 deletions

View file

@ -47,6 +47,8 @@ class Api::V1::AccountsController < ApiController
def statuses
@statuses = @account.statuses.permitted_for(@account, current_account).paginate_by_max_id(limit_param(DEFAULT_STATUSES_LIMIT), params[:max_id], params[:since_id])
@statuses = @statuses.where(id: MediaAttachment.where(account: @account).where.not(status_id: nil).reorder('').select('distinct status_id')) if params[:only_media]
@statuses = @statuses.without_replies if params[:exclude_replies]
@statuses = cache_collection(@statuses, Status)
set_maps(@statuses)
@ -58,21 +60,6 @@ class Api::V1::AccountsController < ApiController
set_pagination_headers(next_path, prev_path)
end
def media_statuses
media_ids = MediaAttachment.where(account: @account).where.not(status_id: nil).reorder('').select('distinct status_id')
@statuses = @account.statuses.where(id: media_ids).permitted_for(@account, current_account).paginate_by_max_id(limit_param(DEFAULT_STATUSES_LIMIT), params[:max_id], params[:since_id])
@statuses = cache_collection(@statuses, Status)
set_maps(@statuses)
set_counters_maps(@statuses)
next_path = media_statuses_api_v1_account_url(max_id: @statuses.last.id) unless @statuses.empty?
prev_path = media_statuses_api_v1_account_url(since_id: @statuses.first.id) unless @statuses.empty?
set_pagination_headers(next_path, prev_path)
render action: :statuses
end
def follow
FollowService.new.call(current_user.account, @account.acct)
set_relationship