From 95e65d883a83c49fa515dedb4489fa0d7d61e7ed Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Sun, 30 Oct 2016 15:14:07 +0100 Subject: [PATCH] Limit returned followees/followers by API to 40 for now --- app/controllers/api/v1/accounts_controller.rb | 4 ++-- app/models/account.rb | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/controllers/api/v1/accounts_controller.rb b/app/controllers/api/v1/accounts_controller.rb index a74d6f979e..715b9085c7 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 49af7962c3..8542852bc4 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 []