true, 'message' => $message, ]; if ($data instanceof JsonResource) { $response['data'] = $data; return $data->additional($response)->response()->setStatusCode($code); } if ($data instanceof LengthAwarePaginator) { $response['data'] = $data->items(); $response['pagination'] = [ 'total' => $data->total(), 'per_page' => $data->perPage(), 'current_page' => $data->currentPage(), 'last_page' => $data->lastPage(), ]; } else { $response['data'] = $data; } return response()->json($response, $code); } public static function error(string $message = 'Error', int $code = 400, array $errors = null): JsonResponse { $response = [ 'success' => false, 'message' => $message, ]; if ($errors !== null) { $response['errors'] = $errors; } return response()->json($response, $code); } }