'Retrieved PackageItems', 'message' => 'You have successfully retrieved a list of PackageItems' ]; } /** @var CanListPackageItems */ private $canListPackageItems; /** @var ListsPackageItems */ private $listsPackageItems; /** * ListPackageItemsLogic constructor. * @param CanListPackageItems $canListPackageItems * @param ListsPackageItems $listsPackageItems */ public function __construct(CanListPackageItems $canListPackageItems, ListsPackageItems $listsPackageItems) { $this->canListPackageItems = $canListPackageItems; $this->listsPackageItems = $listsPackageItems; } /** * @param Request $request * @return JsonResponse * @throws ErrorException */ public function logic(Request $request) : JsonResponse { try { $this->canListPackageItems->passes(); $query = $this->listsPackageItems->execute($this->listsPackageItems->deserializeFilters($request->input('filters'))); return $this->collectionResponse(PackageItemResource::collection($query)); } catch (\Exception $exception){ throw new ErrorException($exception->getMessage(), $exception->getCode()); } } }