'Created Order', 'message' => 'You have successfully created a new Order' ]; } /** @var FetchesOrder */ private $fetchesOrder; /** @var CreateRemarkProcessor */ private $createRemarkProcessor; /** * CreateOrderRemarkLogic constructor. * @param FetchesOrder $fetchesOrder * @param CreateRemarkProcessor $createRemarkProcessor */ public function __construct(FetchesOrder $fetchesOrder, CreateRemarkProcessor $createRemarkProcessor) { $this->fetchesOrder = $fetchesOrder; $this->createRemarkProcessor = $createRemarkProcessor; } /** * @param Request $request * @return JsonResponse * @throws \App\Classes\Exceptions\AccessForbiddenException * @throws \App\Classes\Exceptions\MalformedRequestException * @throws \App\Classes\Exceptions\RequestValidationException */ public function logic(Request $request) : JsonResponse { $order = $this->fetchesOrder->execute(['id' => $request->route('id')]); $object = new RemarkObject($request->input('content'), auth()->user()->id); $this->createRemarkProcessor->execute($order, $object); return $this->resourceResponse(new OrderResource($order)); } }