Browse Source

Fix #4607 - Accept/reject activities use FollowRequest, which has inverse relations (#4616)

master
Eugen Rochko 7 years ago
committed by GitHub
parent
commit
116b8a6363
3 changed files with 24 additions and 2 deletions
  1. +1
    -1
      app/serializers/activitypub/accept_follow_serializer.rb
  2. +22
    -0
      app/serializers/activitypub/inverse_follow_serializer.rb
  3. +1
    -1
      app/serializers/activitypub/reject_follow_serializer.rb

+ 1
- 1
app/serializers/activitypub/accept_follow_serializer.rb View File

@ -3,7 +3,7 @@
class ActivityPub::AcceptFollowSerializer < ActiveModel::Serializer
attributes :id, :type, :actor
has_one :object, serializer: ActivityPub::FollowSerializer
has_one :object, serializer: ActivityPub::InverseFollowSerializer
def id
[ActivityPub::TagManager.instance.uri_for(object.target_account), '#accepts/follows/', object.id].join

+ 22
- 0
app/serializers/activitypub/inverse_follow_serializer.rb View File

@ -0,0 +1,22 @@
# frozen_string_literal: true
class ActivityPub::InverseFollowSerializer < ActiveModel::Serializer
attributes :id, :type, :actor
attribute :virtual_object, key: :object
def id
[ActivityPub::TagManager.instance.uri_for(object.target_account), '#follows/', object.id].join
end
def type
'Follow'
end
def actor
ActivityPub::TagManager.instance.uri_for(object.target_account)
end
def virtual_object
ActivityPub::TagManager.instance.uri_for(object.account)
end
end

+ 1
- 1
app/serializers/activitypub/reject_follow_serializer.rb View File

@ -3,7 +3,7 @@
class ActivityPub::RejectFollowSerializer < ActiveModel::Serializer
attributes :id, :type, :actor
has_one :object, serializer: ActivityPub::FollowSerializer
has_one :object, serializer: ActivityPub::InverseFollowSerializer
def id
[ActivityPub::TagManager.instance.uri_for(object.target_account), '#rejects/follows/', object.id].join

Loading…
Cancel
Save