summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2019-10-07 03:56:21 +0200
committerGitHub <noreply@github.com>2019-10-07 03:56:21 +0200
commit8386d9ec1001f8a938224190e518db054751b5a9 (patch)
treedb1007c298ea7ce7e4242e3e4a37f86fa5bfc582
parenta58218562555c32bd0ec6c2ca2cc19ac4984904c (diff)
Fix hashtag timeline REST API accepting too many hashtags (#12091)
-rw-r--r--app/services/hashtag_query_service.rb4
1 files changed, 3 insertions, 1 deletions
diff --git a/app/services/hashtag_query_service.rb b/app/services/hashtag_query_service.rb
index 282821710a6..196de063920 100644
--- a/app/services/hashtag_query_service.rb
+++ b/app/services/hashtag_query_service.rb
@@ -1,6 +1,8 @@
# frozen_string_literal: true
class HashtagQueryService < BaseService
+ LIMIT_PER_MODE = 4
+
def call(tag, params, account = nil, local = false)
tags = tags_for(Array(tag.name) | Array(params[:any])).pluck(:id)
all = tags_for(params[:all])
@@ -15,6 +17,6 @@ class HashtagQueryService < BaseService
private
def tags_for(names)
- Tag.matching_name(names) if names.presence
+ Tag.matching_name(Array(names).take(LIMIT_PER_MODE)) if names.present?
end
end