diff --git a/app/controllers/api/v1/accounts_controller.rb b/app/controllers/api/v1/accounts_controller.rb index a74d6f979..715b9085c 100644 --- a/app/controllers/api/v1/accounts_controller.rb +++ b/app/controllers/api/v1/accounts_controller.rb @@ -14,12 +14,12 @@ class Api::V1::AccountsController < ApiController end def following - @accounts = @account.following + @accounts = @account.following.limit(40) render action: :index end def followers - @accounts = @account.followers + @accounts = @account.followers.limit(40) render action: :index end diff --git a/app/models/account.rb b/app/models/account.rb index 49af7962c..8542852bc 100644 --- a/app/models/account.rb +++ b/app/models/account.rb @@ -125,7 +125,7 @@ class Account < ApplicationRecord def common_followers_with(other_account) results = Neography::Rest.new.execute_query('MATCH (a {account_id: {a_id}})-[:follows]->(b)-[:follows]->(c {account_id: {c_id}}) RETURN b.account_id', a_id: id, c_id: other_account.id) ids = results['data'].map(&:first) - accounts = Account.where(id: ids).with_counters.map { |a| [a.id, a] }.to_h + accounts = Account.where(id: ids).with_counters.limit(20).map { |a| [a.id, a] }.to_h ids.map { |id| accounts[id] }.compact rescue Neography::NeographyError, Excon::Error::Socket []