repository = $repository; } /** * @param int $orderId * @param Request $request * @return mixed */ public function execute(int $orderId, Request $request) { $repository = $this->repository->findOrFail($orderId); $class = OrderSteps::STEP_PROCESSOR[$repository->current_step]; return (new $class($orderId, $request->input('complete_date')))->execute(); } }