Update BaseApiController, improve favourites endpoint

This commit is contained in:
Daniel Supernault 2022-01-26 23:32:31 -07:00
parent 3c35158ebc
commit f063cb0185
No known key found for this signature in database
GPG Key ID: 0DEF1C662C9033F7
1 changed files with 18 additions and 18 deletions

View File

@ -259,27 +259,27 @@ class BaseApiController extends Controller
public function accountLikes(Request $request) public function accountLikes(Request $request)
{ {
$user = $request->user();
abort_if(!$request->user(), 403); abort_if(!$request->user(), 403);
$this->validate($request, [
'page' => 'sometimes|int|min:1|max:40',
'limit' => 'sometimes|int|min:1|max:10'
]);
$limit = 10; $user = $request->user();
$page = (int) $request->input('page', 1); $limit = $request->input('limit', 10);
if($page > 20) { $res = \DB::table('likes')
return []; ->whereProfileId($user->profile_id)
}
$favourites = $user->profile->likes()
->latest() ->latest()
->simplePaginate($limit) ->simplePaginate($limit)
->pluck('status_id'); ->map(function($id) {
return StatusService::get($id->status_id, false);
$statuses = Status::find($favourites)->reverse(); })
->filter(function($post) {
$resource = new Fractal\Resource\Collection($statuses, new StatusStatelessTransformer()); return $post && isset($post['account']);
$res = $this->fractal->createData($resource)->toArray(); })
->values();
return response()->json($res, 200, [], JSON_PRETTY_PRINT|JSON_UNESCAPED_SLASHES); return response()->json($res);
} }
public function archive(Request $request, $id) public function archive(Request $request, $id)