Added account featured tags API (#11817)

master
Takeshi Umeda 4 years ago committed by GitHub
parent 17340365bb
commit 33ad850c98
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 22
      app/controllers/api/v1/accounts/featured_tags_controller.rb
  2. 19
      app/serializers/rest/account_featured_tag_serializer.rb
  3. 1
      config/routes.rb

@ -0,0 +1,22 @@
# frozen_string_literal: true
class Api::V1::Accounts::FeaturedTagsController < Api::BaseController
before_action :set_account
before_action :set_featured_tags
respond_to :json
def index
render json: @featured_tags, each_serializer: REST::AccountFeaturedTagSerializer
end
private
def set_account
@account = Account.find(params[:account_id])
end
def set_featured_tags
@featured_tags = @account.featured_tags
end
end

@ -0,0 +1,19 @@
# frozen_string_literal: true
class REST::AccountFeaturedTagSerializer < ActiveModel::Serializer
include RoutingHelper
attributes :id, :name, :url
def id
object.tag.id.to_s
end
def name
"##{object.name}"
end
def url
short_account_tag_url(object.account, object.tag)
end
end

@ -430,6 +430,7 @@ Rails.application.routes.draw do
resources :following, only: :index, controller: 'accounts/following_accounts' resources :following, only: :index, controller: 'accounts/following_accounts'
resources :lists, only: :index, controller: 'accounts/lists' resources :lists, only: :index, controller: 'accounts/lists'
resources :identity_proofs, only: :index, controller: 'accounts/identity_proofs' resources :identity_proofs, only: :index, controller: 'accounts/identity_proofs'
resources :featured_tags, only: :index, controller: 'accounts/featured_tags'
member do member do
post :follow post :follow

Loading…
Cancel
Save