0
0
Fork 0

Change unauthenticated search to not support pagination in REST API (#19326)

- Only exact search matches for queries with < 5 characters
- Do not support queries with `offset` (pagination)
- Return HTTP 401 on truthy `resolve` instead of overriding to false
This commit is contained in:
Eugen Rochko 2022-10-26 12:10:02 +02:00 committed by GitHub
parent 8f07381856
commit 1ae508bf2f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 71 additions and 9 deletions

View file

@ -3,6 +3,9 @@
class AccountSearchService < BaseService
attr_reader :query, :limit, :offset, :options, :account
# Min. number of characters to look for non-exact matches
MIN_QUERY_LENGTH = 5
def call(query, account = nil, options = {})
@acct_hint = query&.start_with?('@')
@query = query&.strip&.gsub(/\A@/, '')
@ -135,6 +138,8 @@ class AccountSearchService < BaseService
end
def limit_for_non_exact_results
return 0 if @account.nil? && query.size < MIN_QUERY_LENGTH
if exact_match?
limit - 1
else