handle user services
This commit is contained in:
parent
596659a78f
commit
970e8bb3ec
1 changed files with 23 additions and 1 deletions
|
|
@ -27,7 +27,8 @@ module Diaspora
|
||||||
attr_reader :sender, :object, :opts
|
attr_reader :sender, :object, :opts
|
||||||
|
|
||||||
def deliver_to_services
|
def deliver_to_services
|
||||||
# TODO: pubsubhubbub, relay, social-network-services
|
# TODO: pubsubhubbub, relay
|
||||||
|
deliver_to_user_services
|
||||||
end
|
end
|
||||||
|
|
||||||
def deliver_to_subscribers
|
def deliver_to_subscribers
|
||||||
|
|
@ -44,6 +45,27 @@ module Diaspora
|
||||||
def deliver_to_remote(people)
|
def deliver_to_remote(people)
|
||||||
# TODO: send to remote hosts
|
# TODO: send to remote hosts
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def deliver_to_user_services
|
||||||
|
services.each do |service|
|
||||||
|
case object
|
||||||
|
when StatusMessage
|
||||||
|
Workers::PostToService.perform_async(service.id, object.id, opts[:url])
|
||||||
|
when Retraction
|
||||||
|
Workers::DeletePostFromService.perform_async(service.id, object.target.id)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def services
|
||||||
|
if opts[:services]
|
||||||
|
opts[:services]
|
||||||
|
elsif opts[:service_types]
|
||||||
|
sender.services.where(type: opts[:service_types])
|
||||||
|
else
|
||||||
|
[]
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue