about summary refs log tree commit diff
path: root/app/models/follow_suggestion.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/models/follow_suggestion.rb')
-rw-r--r--app/models/follow_suggestion.rb50
1 files changed, 0 insertions, 50 deletions
diff --git a/app/models/follow_suggestion.rb b/app/models/follow_suggestion.rb
deleted file mode 100644
index 2daa40dcb..000000000
--- a/app/models/follow_suggestion.rb
+++ /dev/null
@@ -1,50 +0,0 @@
-# frozen_string_literal: true
-
-class FollowSuggestion
-  class << self
-    def get(for_account_id, limit = 10)
-      neo = Neography::Rest.new
-
-      query = <<END
-MATCH (a {account_id: {id}})-[:follows]->(b)-[:follows]->(c)
-WHERE a <> c
-AND NOT (a)-[:follows]->(c)
-RETURN DISTINCT c.account_id, count(b), c.nodeRank
-ORDER BY count(b) DESC, c.nodeRank DESC
-LIMIT {limit}
-END
-
-      results = neo.execute_query(query, id: for_account_id, limit: limit)
-
-      if results.empty? || results['data'].empty?
-        results = fallback(for_account_id, limit)
-      elsif results['data'].size < limit
-        results['data'] = (results['data'] + fallback(for_account_id, limit - results['data'].size)['data']).uniq
-      end
-
-      account_ids  = results['data'].map(&:first)
-      blocked_ids  = Block.where(account_id: for_account_id).pluck(:target_account_id)
-      accounts_map = Account.where(id: account_ids - blocked_ids).with_counters.map { |a| [a.id, a] }.to_h
-
-      account_ids.map { |id| accounts_map[id] }.compact
-    rescue Neography::NeographyError, Excon::Error::Socket => e
-      Rails.logger.error e
-      return []
-    end
-
-    private
-
-    def fallback(for_account_id, limit)
-      neo = Neography::Rest.new
-
-      query = <<END
-MATCH (b)
-RETURN b.account_id
-ORDER BY b.nodeRank DESC
-LIMIT {limit}
-END
-
-      neo.execute_query(query, id: for_account_id, limit: limit)
-    end
-  end
-end