From 8ca2452dd05f614d55d2fd3ce188d9d04f44d285 Mon Sep 17 00:00:00 2001 From: winter Date: Fri, 20 Dec 2024 17:57:36 +0000 Subject: implement deletion/tombstones? --- Digitigrade/Model/Actor.php | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'Digitigrade/Model/Actor.php') diff --git a/Digitigrade/Model/Actor.php b/Digitigrade/Model/Actor.php index 07f24ec..8059409 100644 --- a/Digitigrade/Model/Actor.php +++ b/Digitigrade/Model/Actor.php @@ -196,7 +196,22 @@ class Actor extends PushableModel implements RpcReceiver { return Instance::findByHostname(hostname_from_uri($this->uri)); } + protected function getRelevantServers(): array { + $actors = array_unique(array_merge($this->findFollowers(), $this->findFollowees())); + $instances = array_unique(array_map(function (Actor $actor) { + return Instance::findByHostname(hostname_from_uri($actor->uri)); + }, $actors)); + return $instances; + } + public function jsonSerialize(): array { + if ($this->deleted) { + return [ + 'type' => 'tombstone', + 'self' => path_to_uri("/user/$this->handle"), + 'previousType' => 'actor' + ]; + } return [ 'type' => 'actor', 'self' => path_to_uri("/user/$this->handle"), -- cgit v1.3