InstanceActorController.php 964 B

12345678910111213141516171819202122232425262728293031323334353637
  1. <?php
  2. namespace App\Http\Controllers;
  3. use Illuminate\Http\Request;
  4. use App\Models\InstanceActor;
  5. use Cache;
  6. class InstanceActorController extends Controller
  7. {
  8. public function profile()
  9. {
  10. $res = Cache::rememberForever(InstanceActor::PROFILE_KEY, function() {
  11. $res = (new InstanceActor())->first()->getActor();
  12. return json_encode($res, JSON_UNESCAPED_SLASHES);
  13. });
  14. return response($res)->header('Content-Type', 'application/activity+json');
  15. }
  16. public function inbox()
  17. {
  18. return;
  19. }
  20. public function outbox()
  21. {
  22. $res = json_encode([
  23. '@context' => 'https://www.w3.org/ns/activitystreams',
  24. 'id' => config('app.url') . '/i/actor/outbox',
  25. 'type' => 'OrderedCollection',
  26. 'totalItems' => 0,
  27. 'first' => config('app.url') . '/i/actor/outbox?page=true',
  28. 'last' => config('app.url') . '/i/actor/outbox?min_id=0page=true'
  29. ], JSON_UNESCAPED_SLASHES);
  30. return response($res)->header('Content-Type', 'application/activity+json');
  31. }
  32. }