aboutsummaryrefslogtreecommitdiffhomepage
path: root/Digitigrade/Model/Actor.php
diff options
context:
space:
mode:
authorwinter2025-01-20 18:20:45 +0000
committerwinter2025-01-20 18:20:45 +0000
commitb8e259f75dfa52584d7483313b0c6814867d2330 (patch)
tree00f84b0f4485889d2278de99389fdced001ba357 /Digitigrade/Model/Actor.php
parentfb4cbc73bae831e68fe8234811184f46077db5e6 (diff)
follow, unfollow, follow request notifications
Diffstat (limited to 'Digitigrade/Model/Actor.php')
-rw-r--r--Digitigrade/Model/Actor.php9
1 files changed, 8 insertions, 1 deletions
diff --git a/Digitigrade/Model/Actor.php b/Digitigrade/Model/Actor.php
index d04c841..b4e9392 100644
--- a/Digitigrade/Model/Actor.php
+++ b/Digitigrade/Model/Actor.php
@@ -1,6 +1,8 @@
<?php
namespace Digitigrade\Model;
+use Digitigrade\Notification\PendingFollowActionedNotif;
+use Digitigrade\Notification\UnfollowNotif;
use Digitigrade\RpcException;
use Digitigrade\RpcReceiver;
@@ -118,21 +120,26 @@ class Actor extends PushableModel implements RpcReceiver {
switch ($method) {
case 'follow':
$status = $this->requestToFollow ? FollowRelationStatus::PENDING : FollowRelationStatus::ACTIVE;
- FollowRelation::create($args[0], $this, $status);
+ $rel = FollowRelation::create($args[0], $this, $status);
+ $rel->processNotifications();
return $status;
case 'unfollow':
FollowRelation::findByActors($args[0], $this)->remove();
+ (new UnfollowNotif($args[0], $this))->processNotifications();
return;
case 'acceptedFollow':
$rel = FollowRelation::findByActors($this, $args[0]);
$rel->status = FollowRelationStatus::ACTIVE;
$rel->save();
+ $rel->processNotifications();
+ (new PendingFollowActionedNotif($args[0], $this, 'accept'))->processNotifications();
return;
case 'rejectedFollow':
FollowRelation::findByActors($this, $args[0])->remove();
+ (new PendingFollowActionedNotif($args[0], $this, 'reject'))->processNotifications();
return;
default: