Change unapproved and unconfirmed account to not be accessible in the REST API (#17530)
* Change unapproved and unconfirmed account to not be accessible in the REST API * Change Account#searchable? to reject unconfirmed and unapproved users * Disable search for unapproved and unconfirmed users in Account.search_for * Disable search for unapproved and unconfirmed users in Account.advanced_search_for * Remove unconfirmed and unapproved accounts from Account.searchable scope * Prevent mentions to unapproved/unconfirmed accounts * Fix some old tests for Account.advanced_search_for * Add some Account.advanced_search_for tests for existing behaviors * Add some tests for Account.search_for * Add Account.advanced_search_for tests unconfirmed and unapproved accounts * Add Account.searchable tests * Fix Account.without_unapproved scope potentially messing with previously-applied scopes * Allow lookup of unconfirmed/unapproved accounts through /api/v1/accounts/lookup This is so that the API can still be used to check whether an username is free to use.
This commit is contained in:
parent
86f4dba47e
commit
440eb71310
4 changed files with 194 additions and 6 deletions
|
@ -37,6 +37,9 @@ class ProcessMentionsService < BaseService
|
|||
|
||||
mentioned_account = Account.find_remote(username, domain)
|
||||
|
||||
# Unapproved and unconfirmed accounts should not be mentionable
|
||||
next if mentioned_account&.local? && !(mentioned_account.user_confirmed? && mentioned_account.user_approved?)
|
||||
|
||||
# If the account cannot be found or isn't the right protocol,
|
||||
# first try to resolve it
|
||||
if mention_undeliverable?(mentioned_account)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue