mirror of
https://gitlab.com/CIEFWorldwideSdnBhd/izyim.git
synced 2026-08-21 05:24:14 +00:00
30 lines
839 B
PHP
30 lines
839 B
PHP
<?php
|
|
|
|
namespace App\Classes\Modules\Orders\Services\Steps;
|
|
|
|
|
|
use App\Classes\Modules\Orders\DataTransferObjects\OrderObject;
|
|
use App\Classes\Modules\Orders\DataTransferObjects\StepObject;
|
|
use App\Classes\Modules\Orders\Processors\StepProcessMapper;
|
|
use App\Classes\ValueObjects\Constants\OrderSteps;
|
|
use Illuminate\Http\Request;
|
|
|
|
class UpdatesOrderSteps
|
|
{
|
|
/**
|
|
* @param OrderObject $order
|
|
* @param StepObject $step
|
|
* @param Request $request
|
|
* @return mixed
|
|
* @throws \ReflectionException
|
|
*/
|
|
public function execute(OrderObject $order, StepObject $step, Request $request) {
|
|
|
|
$class = OrderSteps::STEP_PROCESSOR[$step->getReferenceId()];
|
|
$arguments = (new StepProcessMapper())->map($class, $request->all());
|
|
|
|
return (new $class())->execute($order, $step,...$arguments);
|
|
|
|
}
|
|
|
|
} |