Browse Source

Added account featured tags API (#11817)

master
Takeshi Umeda 3 years ago
committed by GitHub
parent
commit
33ad850c98
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 42 additions and 0 deletions
  1. +22
    -0
      app/controllers/api/v1/accounts/featured_tags_controller.rb
  2. +19
    -0
      app/serializers/rest/account_featured_tag_serializer.rb
  3. +1
    -0
      config/routes.rb

+ 22
- 0
app/controllers/api/v1/accounts/featured_tags_controller.rb View File

@ -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

+ 19
- 0
app/serializers/rest/account_featured_tag_serializer.rb View File

@ -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

+ 1
- 0
config/routes.rb View File

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

Loading…
Cancel
Save