'Updated PackingList', 'message' => 'You have successfully updated the PackingList' ]; } /** @var UpdatesPackingListStatus */ private $updatesPackingListStatus; /** @var FetchesPackingList */ private $fetchesPackingList; /** * CompletePackingListLogic constructor. * @param CanUpdatePackingList $canUpdatePackingList * @param UpdatesPackingListStatus $updatesPackingListStatus * @param FetchesPackingList $fetchesPackingList */ public function __construct(UpdatesPackingListStatus $updatesPackingListStatus, FetchesPackingList $fetchesPackingList) { $this->updatesPackingListStatus = $updatesPackingListStatus; $this->fetchesPackingList = $fetchesPackingList; } /** * @param Request $request * @return JsonResponse * @throws ErrorException */ public function logic(Request $request) : JsonResponse { $packing_list = $this->fetchesPackingList->execute(['id' => $request->route('id')]); $query = $this->updatesPackingListStatus->execute($packing_list, ApprovalStatus::COMPLETED); return $this->resourceResponse(new PackingListResource($packing_list)); } }