diff options
| author | winter | 2025-02-24 18:29:51 +0000 |
|---|---|---|
| committer | winter | 2025-02-24 18:29:51 +0000 |
| commit | a88283c526a779389efa2b819201a2331de0f2b2 (patch) | |
| tree | 684e6aa432d6062373941e3018dfc744adc03ff5 /routes/interaction.php | |
| parent | 261ab1364aa40384b0315be60e78cd89ea7fe661 (diff) | |
implement federation policies and instance info substitution policy
Diffstat (limited to 'routes/interaction.php')
| -rw-r--r-- | routes/interaction.php | 5 |
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 |
