forked from mirrors/bookwyrm
Merge pull request #960 from DeeUnderscore/follow-use-our-id
Use object ids with base path of current instance for follow accepts or rejects
This commit is contained in:
commit
86f8324105
1 changed files with 10 additions and 5 deletions
|
@ -50,11 +50,10 @@ class UserRelationship(BookWyrmModel):
|
||||||
),
|
),
|
||||||
]
|
]
|
||||||
|
|
||||||
def get_remote_id(self, status=None): # pylint: disable=arguments-differ
|
def get_remote_id(self):
|
||||||
""" use shelf identifier in remote_id """
|
""" use shelf identifier in remote_id """
|
||||||
status = status or "follows"
|
|
||||||
base_path = self.user_subject.remote_id
|
base_path = self.user_subject.remote_id
|
||||||
return "%s#%s/%d" % (base_path, status, self.id)
|
return "%s#follows/%d" % (base_path, self.id)
|
||||||
|
|
||||||
|
|
||||||
class UserFollows(ActivityMixin, UserRelationship):
|
class UserFollows(ActivityMixin, UserRelationship):
|
||||||
|
@ -138,12 +137,18 @@ class UserFollowRequest(ActivitypubMixin, UserRelationship):
|
||||||
notification_type=notification_type,
|
notification_type=notification_type,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
def get_accept_reject_id(self, status):
|
||||||
|
""" get id for sending an accept or reject of a local user """
|
||||||
|
|
||||||
|
base_path = self.user_object.remote_id
|
||||||
|
return "%s#%s/%d" % (base_path, status, self.id)
|
||||||
|
|
||||||
def accept(self):
|
def accept(self):
|
||||||
""" turn this request into the real deal"""
|
""" turn this request into the real deal"""
|
||||||
user = self.user_object
|
user = self.user_object
|
||||||
if not self.user_subject.local:
|
if not self.user_subject.local:
|
||||||
activity = activitypub.Accept(
|
activity = activitypub.Accept(
|
||||||
id=self.get_remote_id(status="accepts"),
|
id=self.get_accept_reject_id(status="accepts"),
|
||||||
actor=self.user_object.remote_id,
|
actor=self.user_object.remote_id,
|
||||||
object=self.to_activity(),
|
object=self.to_activity(),
|
||||||
).serialize()
|
).serialize()
|
||||||
|
@ -156,7 +161,7 @@ class UserFollowRequest(ActivitypubMixin, UserRelationship):
|
||||||
""" generate a Reject for this follow request """
|
""" generate a Reject for this follow request """
|
||||||
if self.user_object.local:
|
if self.user_object.local:
|
||||||
activity = activitypub.Reject(
|
activity = activitypub.Reject(
|
||||||
id=self.get_remote_id(status="rejects"),
|
id=self.get_accept_reject_id(status="rejects"),
|
||||||
actor=self.user_object.remote_id,
|
actor=self.user_object.remote_id,
|
||||||
object=self.to_activity(),
|
object=self.to_activity(),
|
||||||
).serialize()
|
).serialize()
|
||||||
|
|
Loading…
Reference in a new issue