aboutsummaryrefslogtreecommitdiffhomepage
path: root/routes/interaction.php
diff options
context:
space:
mode:
authorwinter2025-02-24 18:29:51 +0000
committerwinter2025-02-24 18:29:51 +0000
commita88283c526a779389efa2b819201a2331de0f2b2 (patch)
tree684e6aa432d6062373941e3018dfc744adc03ff5 /routes/interaction.php
parent261ab1364aa40384b0315be60e78cd89ea7fe661 (diff)
implement federation policies and instance info substitution policy
Diffstat (limited to 'routes/interaction.php')
-rw-r--r--routes/interaction.php5
1 files changed, 5 insertions, 0 deletions
diff --git a/routes/interaction.php b/routes/interaction.php
index 53bc193..5768fe1 100644
--- a/routes/interaction.php
+++ b/routes/interaction.php
@@ -1,16 +1,21 @@
<?php
use Digitigrade\HttpResponseStatus\NotFound;
+use Digitigrade\HttpResponseStatus\PolicyRejected;
+use Digitigrade\Model\Instance;
use Digitigrade\Model\Interaction;
+use Digitigrade\PolicyManager;
use Digitigrade\Router;
Router::getInstance()->mount('/interaction/:id', function (array $args) {
$interaction = Interaction::find($args['id']);
+ $instance = Instance::findByRequestHeaders();
if ($interaction == null || $interaction->deleted) {
throw new NotFound("i don't know that interaction");
}
if (!$interaction->author->isLocal) {
throw new NotFound("i don't want to tell you about non-local interactions!");
}
+ PolicyManager::getInstance()->checkFederationOrThrow($interaction, $instance);
json_response($interaction);
}); \ No newline at end of file