From b89c1d0cd70264622b4388a57fbd4e3aabbe5381 Mon Sep 17 00:00:00 2001 From: Benjamin Neff Date: Wed, 25 May 2016 02:57:01 +0200 Subject: [PATCH] send private message --- lib/diaspora/federation/dispatcher/private.rb | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/lib/diaspora/federation/dispatcher/private.rb b/lib/diaspora/federation/dispatcher/private.rb index 091ed7ff8..b0f6c3725 100644 --- a/lib/diaspora/federation/dispatcher/private.rb +++ b/lib/diaspora/federation/dispatcher/private.rb @@ -3,7 +3,22 @@ module Diaspora class Dispatcher class Private < Dispatcher def deliver_to_remote(people) - # TODO + entity = Entities.build(object) + Workers::SendPrivate.perform_async(sender.id, entity.to_s, targets(people, salmon_slap(entity))) + end + + private + + def targets(people, salmon_slap) + people.map {|person| [person.receive_url, salmon_slap.generate_xml(person.public_key)] }.to_h + end + + def salmon_slap(entity) + DiasporaFederation::Salmon::EncryptedSlap.prepare( + sender.diaspora_handle, + sender.encryption_key, + entity + ) end end end