Files
izyim/app/Classes/Modules/Orders/Processors/DeliverOrder.php
Omair Saleh 43a9e0ca03 large commit
2019-05-18 12:14:31 +08:00

39 lines
998 B
PHP

<?php
namespace App\Classes\Modules\Orders\Processors;
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\Processors\updatesStep;
use App\Classes\ValueObjects\Constants\HttpStatus;
use Illuminate\Http\JsonResponse;
class DeliverOrder
{
use updatesStep;
/**
* @param OrderObject $order
* @param StepObject $step
* @return JsonResponse
* @throws InternalServerErrorException
*/
public function execute(OrderObject $order, StepObject $step){
try {
$this->completeStep($order, $step);
return new JsonResponse(null, HttpStatus::REQUEST_ACCEPTED);
} catch (\Exception $exception) {
throw new InternalServerErrorException("Failed to update order step because {$exception->getMessage()}");
}
}
}