aboutsummaryrefslogtreecommitdiffhomepage
path: root/Digitigrade/Model
diff options
context:
space:
mode:
Diffstat (limited to 'Digitigrade/Model')
-rw-r--r--Digitigrade/Model/Instance.php9
-rw-r--r--Digitigrade/Model/Note.php2
2 files changed, 10 insertions, 1 deletions
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))