rest_paginate(ProductResource::collection( Product::with(['media', 'brand'])->whereHasLike(auth()->user())->paginate(15) )); } /** * Store a newly created resource in storage. * * @return \Illuminate\Http\Response */ public function store(Request $request) { $validator = Validator::make($request->all(), [ 'product_id' => ['required', 'integer', 'exists:products,id'], ]); if ($validator->fails()) { return response()->rest($validator->messages()->get('*'), 400, 'Wrong credentials'); } $product = Product::find($request->product_id); Like::add($product, auth()->user()); return response()->rest([], 201); } /** * Remove the specified resource from storage. * * @param int $id * @return \Illuminate\Http\Response */ public function destroy(Request $request) { $validator = Validator::make($request->all(), [ 'product_id' => ['required', 'integer', 'exists:products,id'], ]); if ($validator->fails()) { return response()->rest([], 400, 'Wrong credentials'); } $product = Product::find($request->product_id); Like::remove($product, auth()->user()); return response()->rest(); } }