mirror of
https://gitlab.com/CIEFWorldwideSdnBhd/izyim.git
synced 2026-08-19 04:24:00 +00:00
51 lines
1.4 KiB
PHP
51 lines
1.4 KiB
PHP
<?php
|
|
|
|
namespace App\Classes\Modules\ControllersLogic\Orders;
|
|
|
|
use App\Classes\Modules\Accounts\Exceptions\CannotCreateOrderException;
|
|
use App\Classes\Modules\ControllerLogic\Exceptions\InternalServerErrorException;
|
|
use App\Classes\Modules\Orders\DataTransferObjects\OrderObject;
|
|
use App\Classes\Modules\Orders\DataTransferObjects\StepObject;
|
|
use App\Classes\Modules\Orders\Services\CreatesOrder;
|
|
use App\Classes\Modules\Orders\Services\UpdatesOrderSteps;
|
|
use App\Models\Order;
|
|
use Illuminate\Http\Request;
|
|
|
|
class UpdateOrderStepLogic
|
|
{
|
|
|
|
/** @var Order */
|
|
private $repository;
|
|
|
|
/** @var UpdatesOrderSteps */
|
|
private $updateOrderSteps;
|
|
|
|
/**
|
|
* UpdateOrderStepLogic constructor.
|
|
* @param Order $repository
|
|
* @param UpdatesOrderSteps $updateOrderSteps
|
|
*/
|
|
public function __construct(Order $repository, UpdatesOrderSteps $updateOrderSteps)
|
|
{
|
|
$this->repository = $repository;
|
|
$this->updateOrderSteps = $updateOrderSteps;
|
|
}
|
|
|
|
|
|
/**
|
|
* @param int $orderId
|
|
* @param Request $request
|
|
* @return \Illuminate\Http\JsonResponse
|
|
*/
|
|
public function execute(int $orderId, Request $request) {
|
|
|
|
$repository = $this->repository->findOrFail($orderId);
|
|
|
|
$orderObject = new OrderObject($orderId);
|
|
|
|
$stepObject = new StepObject($repository->current_step);
|
|
|
|
return $this->updateOrderSteps->execute($orderObject, $stepObject, $request);
|
|
|
|
}
|
|
} |