Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
liberty
host
Smilodon
Commits
b34d6238
Commit
b34d6238
authored
Aug 20, 2018
by
ThibG
Committed by
Eugen Rochko
Aug 20, 2018
Browse files
Add API endpoint to list featured accounts (fixes #8315) (#8317)
parent
5fbf12bb
Changes
3
Hide whitespace changes
Inline
Side-by-side
app/controllers/api/v1/endorsements_controller.rb
0 → 100644
View file @
b34d6238
# frozen_string_literal: true
class
Api::V1::EndorsementsController
<
Api
::
BaseController
before_action
->
{
doorkeeper_authorize!
:read
,
:'read:accounts'
}
before_action
:require_user!
after_action
:insert_pagination_headers
respond_to
:json
def
index
@accounts
=
load_accounts
render
json:
@accounts
,
each_serializer:
REST
::
AccountSerializer
end
private
def
load_accounts
if
unlimited?
endorsed_accounts
.
all
else
endorsed_accounts
.
paginate_by_max_id
(
limit_param
(
DEFAULT_ACCOUNTS_LIMIT
),
params
[
:max_id
],
params
[
:since_id
]
)
end
end
def
endorsed_accounts
current_account
.
endorsed_accounts
end
def
insert_pagination_headers
set_pagination_headers
(
next_path
,
prev_path
)
end
def
next_path
return
if
unlimited?
if
records_continue?
api_v1_endorsements_url
pagination_params
(
max_id:
pagination_max_id
)
end
end
def
prev_path
return
if
unlimited?
unless
@accounts
.
empty?
api_v1_endorsements_url
pagination_params
(
since_id:
pagination_since_id
)
end
end
def
pagination_max_id
@accounts
.
last
.
id
end
def
pagination_since_id
@accounts
.
first
.
id
end
def
records_continue?
@accounts
.
size
==
limit_param
(
DEFAULT_ACCOUNTS_LIMIT
)
end
def
pagination_params
(
core_params
)
params
.
slice
(
:limit
).
permit
(
:limit
).
merge
(
core_params
)
end
def
unlimited?
params
[
:limit
]
==
'0'
end
end
app/models/account_pin.rb
View file @
b34d6238
...
...
@@ -11,6 +11,7 @@
#
class
AccountPin
<
ApplicationRecord
include
Paginable
include
RelationshipCacheable
belongs_to
:account
...
...
config/routes.rb
View file @
b34d6238
...
...
@@ -261,13 +261,14 @@ Rails.application.routes.draw do
get
'/search'
,
to:
'search#index'
,
as: :search
resources
:follows
,
only:
[
:create
]
resources
:media
,
only:
[
:create
,
:update
]
resources
:blocks
,
only:
[
:index
]
resources
:mutes
,
only:
[
:index
]
resources
:favourites
,
only:
[
:index
]
resources
:reports
,
only:
[
:index
,
:create
]
resources
:filters
,
only:
[
:index
,
:create
,
:show
,
:update
,
:destroy
]
resources
:follows
,
only:
[
:create
]
resources
:media
,
only:
[
:create
,
:update
]
resources
:blocks
,
only:
[
:index
]
resources
:mutes
,
only:
[
:index
]
resources
:favourites
,
only:
[
:index
]
resources
:reports
,
only:
[
:index
,
:create
]
resources
:filters
,
only:
[
:index
,
:create
,
:show
,
:update
,
:destroy
]
resources
:endorsements
,
only:
[
:index
]
namespace
:apps
do
get
:verify_credentials
,
to:
'credentials#show'
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment