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