input('status'); $page = (int) $request->input('page', 1); $limit = min((int) $request->input('limit', 20), 100); $query = DB::connection('ride')->table('ride'); if ($status) { $query->where('status', $status); } $rides = $query->orderBy('created_at', 'desc') ->skip(($page - 1) * $limit) ->take($limit) ->get(); $total = $status ? DB::connection('ride')->table('ride')->where('status', $status)->count() : DB::connection('ride')->table('ride')->count(); return response()->json([ 'status' => 'success', 'data' => $rides, 'pagination' => ['page' => $page, 'limit' => $limit, 'total' => $total], ]); } /** GET /v2/admin/rides/{id} */ public function show(string $id): JsonResponse { $ride = DB::connection('ride')->table('ride')->where('id', $id)->first(); if (!$ride) { return response()->json(['status' => 'failure', 'message' => 'Ride not found'], 404); } return response()->json(['status' => 'success', 'data' => $ride]); } }