浏览代码

Update BaseApiController, add favourites method

Daniel Supernault 4 年之前
父节点
当前提交
76353ca997
共有 1 个文件被更改,包括 29 次插入2 次删除
  1. 29 2
      app/Http/Controllers/Api/BaseApiController.php

+ 29 - 2
app/Http/Controllers/Api/BaseApiController.php

@@ -11,8 +11,9 @@ use Auth, Cache, Storage, URL;
 use Carbon\Carbon;
 use Carbon\Carbon;
 use App\{
 use App\{
     Avatar,
     Avatar,
-    Notification,
+    Like,
     Media,
     Media,
+    Notification,
     Profile,
     Profile,
     Status
     Status
 };
 };
@@ -21,7 +22,8 @@ use App\Transformer\Api\{
     NotificationTransformer,
     NotificationTransformer,
     MediaTransformer,
     MediaTransformer,
     MediaDraftTransformer,
     MediaDraftTransformer,
-    StatusTransformer
+    StatusTransformer,
+    StatusStatelessTransformer
 };
 };
 use League\Fractal;
 use League\Fractal;
 use App\Util\Media\Filter;
 use App\Util\Media\Filter;
@@ -338,4 +340,29 @@ class BaseApiController extends Controller
         $res = $this->fractal->createData($resource)->toArray();
         $res = $this->fractal->createData($resource)->toArray();
         return response()->json($res, 200, [], JSON_PRETTY_PRINT|JSON_UNESCAPED_SLASHES);
         return response()->json($res, 200, [], JSON_PRETTY_PRINT|JSON_UNESCAPED_SLASHES);
     }
     }
+
+    public function accountLikes(Request $request)
+    {
+        $user = $request->user();
+        abort_if(!$request->user(), 403);
+
+        $limit = 10;
+        $page = (int) $request->input('page', 1);
+
+        if($page > 20) {
+            return [];
+        }
+
+        $favourites = $user->profile->likes()
+        ->latest()
+        ->simplePaginate($limit)
+        ->pluck('status_id');
+
+        $statuses = Status::find($favourites)->reverse();
+
+        $resource = new Fractal\Resource\Collection($statuses, new StatusStatelessTransformer());
+        $res = $this->fractal->createData($resource)->toArray();
+
+        return response()->json($res, 200, [], JSON_PRETTY_PRINT|JSON_UNESCAPED_SLASHES);
+    }
 }
 }