Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/diaspora/diaspora.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorBenjamin Neff <benjamin@coding4coffee.ch>2018-01-27 05:47:50 +0300
committerDennis Schubert <mail@dennis-schubert.de>2018-02-02 01:35:35 +0300
commitb9787cc632b803e776efcaf8ddf517d98334f3ee (patch)
tree033d66dec9ffa647da8b613bb2b21d7088baecc2 /lib
parent815cf121abf45980d243ac52740dee8dc3ac6944 (diff)
Start sending the blocking flag
Diffstat (limited to 'lib')
-rw-r--r--lib/diaspora/federated/contact_retraction.rb4
-rw-r--r--lib/diaspora/federation/entities.rb13
-rw-r--r--lib/diaspora/federation/mappings.rb1
3 files changed, 15 insertions, 3 deletions
diff --git a/lib/diaspora/federated/contact_retraction.rb b/lib/diaspora/federated/contact_retraction.rb
index 57efd2f45..69ec85f7f 100644
--- a/lib/diaspora/federated/contact_retraction.rb
+++ b/lib/diaspora/federated/contact_retraction.rb
@@ -6,11 +6,11 @@ class ContactRetraction < Retraction
end
def self.retraction_data_for(target)
- Diaspora::Federation::Entities.contact(target).to_h
+ Diaspora::Federation::Entities.build(target).to_h
end
def self.for(target)
- target.receiving = false
+ target.receiving = false if target.is_a?(Contact)
super
end
diff --git a/lib/diaspora/federation/entities.rb b/lib/diaspora/federation/entities.rb
index e6dbff2a0..f8d8aa1a5 100644
--- a/lib/diaspora/federation/entities.rb
+++ b/lib/diaspora/federation/entities.rb
@@ -31,6 +31,16 @@ module Diaspora
)
end
+ def self.block(block)
+ DiasporaFederation::Entities::Contact.new(
+ author: block.user.diaspora_handle,
+ recipient: block.person.diaspora_handle,
+ sharing: false,
+ following: false,
+ blocking: Block.exists?(user: block.user, person: block.person)
+ )
+ end
+
def self.comment(comment)
DiasporaFederation::Entities::Comment.new(
{
@@ -52,7 +62,8 @@ module Diaspora
author: contact.user.diaspora_handle,
recipient: contact.person.diaspora_handle,
sharing: contact.receiving,
- following: contact.receiving
+ following: contact.receiving,
+ blocking: Block.exists?(user: contact.user, person: contact.person)
)
end
diff --git a/lib/diaspora/federation/mappings.rb b/lib/diaspora/federation/mappings.rb
index 91ccefee6..ac10929c5 100644
--- a/lib/diaspora/federation/mappings.rb
+++ b/lib/diaspora/federation/mappings.rb
@@ -29,6 +29,7 @@ module Diaspora
case diaspora_entity
when AccountMigration then :account_migration
when AccountDeletion then :account_deletion
+ when Block then :block
when Comment then :comment
when Contact then :contact
when Conversation then :conversation