Explorar o código

Update ApiV1Controller, add pe (pixelfed entity) support to /api/v1/statuses/{id}/context endpoint

Daniel Supernault hai 1 ano
pai
achega
d645d6ca26
Modificáronse 1 ficheiros con 8 adicións e 4 borrados
  1. 8 4
      app/Http/Controllers/Api/ApiV1Controller.php

+ 8 - 4
app/Http/Controllers/Api/ApiV1Controller.php

@@ -3020,9 +3020,9 @@ class ApiV1Controller extends Controller
         abort_unless($request->user()->tokenCan('read'), 403);
         abort_unless($request->user()->tokenCan('read'), 403);
 
 
         $user = $request->user();
         $user = $request->user();
-        AccountService::setLastActive($user->id);
         $pid = $user->profile_id;
         $pid = $user->profile_id;
         $status = StatusService::getMastodon($id, false);
         $status = StatusService::getMastodon($id, false);
+        $pe = $request->has(self::PF_API_ENTITY_KEY);
 
 
         if (! $status || ! isset($status['account'])) {
         if (! $status || ! isset($status['account'])) {
             return response('', 404);
             return response('', 404);
@@ -3049,7 +3049,9 @@ class ApiV1Controller extends Controller
         $descendants = [];
         $descendants = [];
 
 
         if ($status['in_reply_to_id']) {
         if ($status['in_reply_to_id']) {
-            $ancestors[] = StatusService::getMastodon($status['in_reply_to_id'], false);
+            $ancestors[] = $pe ?
+            StatusService::get($status['in_reply_to_id'], false) :
+            StatusService::getMastodon($status['in_reply_to_id'], false);
         }
         }
 
 
         if ($status['replies_count']) {
         if ($status['replies_count']) {
@@ -3059,8 +3061,10 @@ class ApiV1Controller extends Controller
                 ->where('in_reply_to_id', $id)
                 ->where('in_reply_to_id', $id)
                 ->limit(20)
                 ->limit(20)
                 ->pluck('id')
                 ->pluck('id')
-                ->map(function ($sid) {
-                    return StatusService::getMastodon($sid, false);
+                ->map(function ($sid) use ($pe) {
+                    return $pe ?
+                     StatusService::get($sid, false) :
+                     StatusService::getMastodon($sid, false);
                 })
                 })
                 ->filter(function ($post) use ($filters) {
                 ->filter(function ($post) use ($filters) {
                     return $post && isset($post['account'], $post['account']['id']) && ! in_array($post['account']['id'], $filters);
                     return $post && isset($post['account'], $post['account']['id']) && ! in_array($post['account']['id'], $filters);