WIP - Order steps & remaining APIs

This commit is contained in:
Fairuz
2021-07-24 16:21:11 +08:00
parent 9296c321f3
commit e12e5a460e
20 changed files with 158 additions and 302 deletions
@@ -6,7 +6,6 @@ namespace App\Classes\Modules\Packages\ControllersLogic;
use App\Classes\General\Abstracts\AbstractControllerLogic;
use App\Classes\Modules\Packages\Services\UpdatesPackage;
use App\Classes\Modules\Packages\Services\FetchesPackage;
use App\Classes\Modules\Packages\Services\FetchesDistrict;
use App\Classes\Modules\Packages\Standards\Rules\CanUpdatePackage;
use App\Classes\Modules\Packages\DataTransferObjects\PackageObject;
use App\Http\Resources\PackageResource;
@@ -36,22 +35,18 @@ class UpdatePackageLogic extends AbstractControllerLogic
/** @var FetchesPackage */
private $fetchesPackage;
/** @var FetchesDistrict */
private $fetchesDistrict;
/**
* UpdatePackageLogic constructor.
* @param CanUpdatePackage $canUpdatePackage
* @param UpdatesPackage $updatesPackage
* @param FetchesPackage $fetchesPackage
* @param FetchesDistrict $fetchesDistrict
*/
public function __construct(CanUpdatePackage $canUpdatePackage, UpdatesPackage $updatesPackage, FetchesPackage $fetchesPackage, FetchesDistrict $fetchesDistrict)
public function __construct(CanUpdatePackage $canUpdatePackage, UpdatesPackage $updatesPackage, FetchesPackage $fetchesPackage)
{
$this->canUpdatePackage = $canUpdatePackage;
$this->updatesPackage = $updatesPackage;
$this->fetchesPackage = $fetchesPackage;
$this->fetchesDistrict = $fetchesDistrict;
}
@@ -62,25 +57,25 @@ class UpdatePackageLogic extends AbstractControllerLogic
*/
public function logic(Request $request) : JsonResponse
{
try {
$package = $this->fetchesPackage->execute(['id' => $request->route('id')]);
$district = $this->fetchesDistrict->execute(['id' => $request->input('district_id')]);
$object = new PackageObject($request->input('street_one'), $request->input('street_two'), $district->country_id, $district->state_id, $district->id, $request->input('post_code'));
//$object = new PackageObject($request->input('company_id'), $request->input('street_one'), $request->input('street_two'), $request->input('city'), $request->input('state'), $request->input('post_code'), $request->input('country'), $request->input('default'), $request->input('billing'));
$object = new PackageObject(
$package->order_id,
null,
$request->input('type'),
$request->input('description'),
$request->input('width'),
$request->input('height'),
$request->input('length'),
$request->input('weight'),
$request->input('quantity'),
$request->input('status'));
$this->canUpdatePackage->passes($object);
$this->canUpdatePackage->passes($object);
$query = $this->fetchesPackage->execute(['id' => $request->route('id')]);
$query = $this->updatesPackage->execute($query, $object);
return $this->resourceResponse(new PackageResource($query));
} catch (\Exception $exception){
throw new ErrorException($exception->getMessage(), $exception->getCode());
}
$query = $this->updatesPackage->execute($package, $object);
return $this->resourceResponse(new PackageResource($query));
}
}