From 2146ac91a004bad2a6c4dc1d01599a85515928f5 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 26 Dec 2016 21:52:03 +0100 Subject: Follow requests send e-mail notifications, but are excluded from notifications API Better initial state for unlisted/nsfw toggles --- app/services/follow_service.rb | 7 ++++++- app/services/notify_service.rb | 5 +++++ 2 files changed, 11 insertions(+), 1 deletion(-) (limited to 'app/services') diff --git a/app/services/follow_service.rb b/app/services/follow_service.rb index a73ec344d..555f01b6d 100644 --- a/app/services/follow_service.rb +++ b/app/services/follow_service.rb @@ -20,7 +20,12 @@ class FollowService < BaseService private def request_follow(source_account, target_account) - FollowRequest.create!(account: source_account, target_account: target_account) + return unless target_account.local? + + follow_request = FollowRequest.create!(account: source_account, target_account: target_account) + NotifyService.new.call(target_account, follow_request) + + follow_request end def direct_follow(source_account, target_account) diff --git a/app/services/notify_service.rb b/app/services/notify_service.rb index 8263c4376..2fb1d3919 100644 --- a/app/services/notify_service.rb +++ b/app/services/notify_service.rb @@ -32,6 +32,10 @@ class NotifyService < BaseService false end + def blocked_follow_request? + false + end + def blocked? blocked = @recipient.suspended? # Skip if the recipient account is suspended anyway blocked ||= @recipient.id == @notification.from_account.id # Skip for interactions with self @@ -45,6 +49,7 @@ class NotifyService < BaseService def create_notification @notification.save! + return unless @notification.browserable? FeedManager.instance.broadcast(@recipient.id, type: 'notification', message: FeedManager.instance.inline_render(@recipient, 'api/v1/notifications/show', @notification)) end -- cgit