From 0851fbd1ec09b142608667bf90ee806e59cafb28 Mon Sep 17 00:00:00 2001 From: Andrew Godwin Date: Thu, 17 Nov 2022 18:52:00 -0700 Subject: Add search and better notifications --- users/models/follow.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'users/models') diff --git a/users/models/follow.py b/users/models/follow.py index defe399..d2ee493 100644 --- a/users/models/follow.py +++ b/users/models/follow.py @@ -1,6 +1,6 @@ from typing import Optional -from django.db import models +from django.db import models, transaction from core.ld import canonicalise from core.signatures import HttpSignature @@ -218,9 +218,14 @@ class Follow(StatorModel): """ Handles an incoming follow request """ - follow = cls.by_ap(data, create=True) - # Force it into remote_requested so we send an accept - follow.transition_perform(FollowStates.remote_requested) + from activities.models import TimelineEvent + + with transaction.atomic(): + follow = cls.by_ap(data, create=True) + # Force it into remote_requested so we send an accept + follow.transition_perform(FollowStates.remote_requested) + # Add a timeline event + TimelineEvent.add_follow(follow.target, follow.source) @classmethod def handle_accept_ap(cls, data): -- cgit v1.2.3