Default follows for new users (#4871)

When a new user confirms their e-mail, bootstrap their home timeline
by automatically following a set of accounts. By default, all local
admin accounts (that are unlocked). Can be customized by new admin
setting (comma-separated usernames, local and unlocked only)
This commit is contained in:
Eugen Rochko 2017-09-10 09:58:38 +02:00 committed by GitHub
parent f2cbfb2eb3
commit 7d7844a47f
11 changed files with 118 additions and 2 deletions

View file

@ -5,9 +5,9 @@ class FollowService < BaseService
# Follow a remote user, notify remote user about the follow
# @param [Account] source_account From which to follow
# @param [String] uri User URI to follow in the form of username@domain
# @param [String, Account] uri User URI to follow in the form of username@domain (or account record)
def call(source_account, uri)
target_account = ResolveRemoteAccountService.new.call(uri)
target_account = uri.is_a?(Account) ? uri : ResolveRemoteAccountService.new.call(uri)
raise ActiveRecord::RecordNotFound if target_account.nil? || target_account.id == source_account.id || target_account.suspended?
raise Mastodon::NotPermittedError if target_account.blocking?(source_account) || source_account.blocking?(target_account)