20
									
								
								app/controllers/api/v1/accounts/lists_controller.rb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								app/controllers/api/v1/accounts/lists_controller.rb
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,20 @@ | ||||
| # frozen_string_literal: true | ||||
|  | ||||
| class Api::V1::Accounts::ListsController < Api::BaseController | ||||
|   before_action -> { doorkeeper_authorize! :read } | ||||
|   before_action :require_user! | ||||
|   before_action :set_account | ||||
|  | ||||
|   respond_to :json | ||||
|  | ||||
|   def index | ||||
|     @lists = @account.lists.where(account: current_account) | ||||
|     render json: @lists, each_serializer: REST::ListSerializer | ||||
|   end | ||||
|  | ||||
|   private | ||||
|  | ||||
|   def set_account | ||||
|     @account = Account.find(params[:account_id]) | ||||
|   end | ||||
| end | ||||
| @@ -269,6 +269,7 @@ Rails.application.routes.draw do | ||||
|         resources :statuses, only: :index, controller: 'accounts/statuses' | ||||
|         resources :followers, only: :index, controller: 'accounts/follower_accounts' | ||||
|         resources :following, only: :index, controller: 'accounts/following_accounts' | ||||
|         resources :lists, only: :index, controller: 'accounts/lists' | ||||
|  | ||||
|         member do | ||||
|           post :follow | ||||
|   | ||||
							
								
								
									
										23
									
								
								spec/controllers/api/v1/accounts/lists_controller_spec.rb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								spec/controllers/api/v1/accounts/lists_controller_spec.rb
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,23 @@ | ||||
| require 'rails_helper' | ||||
|  | ||||
| describe Api::V1::Accounts::ListsController do | ||||
|   render_views | ||||
|  | ||||
|   let(:user)    { Fabricate(:user, account: Fabricate(:account, username: 'alice')) } | ||||
|   let(:token)   { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: 'read') } | ||||
|   let(:account) { Fabricate(:account) } | ||||
|   let(:list)    { Fabricate(:list, account: user.account) } | ||||
|  | ||||
|   before do | ||||
|     allow(controller).to receive(:doorkeeper_token) { token } | ||||
|     user.account.follow!(account) | ||||
|     list.accounts << account | ||||
|   end | ||||
|  | ||||
|   describe 'GET #index' do | ||||
|     it 'returns http success' do | ||||
|       get :index, params: { account_id: account.id } | ||||
|       expect(response).to have_http_status(:success) | ||||
|     end | ||||
|   end | ||||
| end | ||||
		Reference in New Issue
	
	Block a user