2017-09-10 10:58:38 +03:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
class BootstrapTimelineService < BaseService
|
|
|
|
def call(source_account)
|
2018-06-15 19:00:23 +03:00
|
|
|
@source_account = source_account
|
|
|
|
|
|
|
|
autofollow_inviter!
|
2022-02-23 17:45:22 +02:00
|
|
|
notify_staff!
|
2017-09-10 10:58:38 +03:00
|
|
|
end
|
|
|
|
|
|
|
|
private
|
|
|
|
|
2018-06-15 19:00:23 +03:00
|
|
|
def autofollow_inviter!
|
|
|
|
return unless @source_account&.user&.invite&.autofollow?
|
2017-09-10 10:58:38 +03:00
|
|
|
|
2021-04-24 18:01:43 +03:00
|
|
|
FollowService.new.call(@source_account, @source_account.user.invite.user.account)
|
2017-09-10 10:58:38 +03:00
|
|
|
end
|
2022-02-23 17:45:22 +02:00
|
|
|
|
|
|
|
def notify_staff!
|
2022-07-05 03:41:40 +03:00
|
|
|
User.those_who_can(:manage_users).includes(:account).find_each do |user|
|
2022-03-04 02:06:33 +02:00
|
|
|
LocalNotificationWorker.perform_async(user.account_id, @source_account.id, 'Account', 'admin.sign_up')
|
2022-02-23 17:45:22 +02:00
|
|
|
end
|
|
|
|
end
|
2017-09-10 10:58:38 +03:00
|
|
|
end
|