From 8de5608976dc8a73a400267601acb4c8e127de5a Mon Sep 17 00:00:00 2001 From: winter Date: Thu, 16 Jan 2025 18:33:18 +0000 Subject: note privacy and summary stuff --- Digitigrade/Model/Instance.php | 9 +++++++++ Digitigrade/Model/Note.php | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) (limited to 'Digitigrade') diff --git a/Digitigrade/Model/Instance.php b/Digitigrade/Model/Instance.php index 6662d7e..5545849 100644 --- a/Digitigrade/Model/Instance.php +++ b/Digitigrade/Model/Instance.php @@ -4,6 +4,7 @@ namespace Digitigrade\Model; use Digitigrade\Exception\AuthException; use Digitigrade\Exception\EndpointMissingException; use Digitigrade\GlobalConfig; +use Digitigrade\HttpResponseStatus\Unauthorized; use Digitigrade\Job\RefreshOutboundAuthToken; class Instance extends FetchableModel { @@ -80,6 +81,14 @@ class Instance extends FetchableModel { return self::findByInboundAuthToken($token); } + public static function requireByRequestHeaders(): self { + $inst = self::findByRequestHeaders(); + if ($inst == null) { + throw new Unauthorized(); + } + return $inst; + } + public static function findByDialbackSecret(string $secret): ?self { $authRecord = InstanceAuth::findWhere('secret = ?', [$secret]); if ($authRecord == null) diff --git a/Digitigrade/Model/Note.php b/Digitigrade/Model/Note.php index 7fb1221..64a2168 100644 --- a/Digitigrade/Model/Note.php +++ b/Digitigrade/Model/Note.php @@ -151,7 +151,7 @@ class Note extends PushableModel implements TimelineIncludeable { }, $this->mentions, $this->privacy->alsoVisibleTo, [$this->author])); } - protected function getRelevantServers(): array { + public function getRelevantServers(): array { $recipientActors = $this->getRelevantActors(); // reply-to and thread apex author should be covered by mentions but in case they're not: if (isset($this->inReplyTo)) -- cgit v1.3