From 4bee415d2d46d02a6bb4e73b8c0463db52f9f0f2 Mon Sep 17 00:00:00 2001 From: Martin Kiragu Date: Mon, 24 Apr 2023 21:08:29 +0300 Subject: [PATCH] DeliveryPackingListTransformer transformer updated --- .../CreateDeliverPackingListLogic.php | 2 +- .../DeliverPackingListTransformer.php | 78 +++++++++++++++++++ .../DeliveryPackingListTransformer.php | 40 +++------- 3 files changed, 90 insertions(+), 30 deletions(-) create mode 100644 app/Transformers/DeliverPackingListTransformer.php diff --git a/app/Classes/Modules/PackingLists/ControllersLogic/CreateDeliverPackingListLogic.php b/app/Classes/Modules/PackingLists/ControllersLogic/CreateDeliverPackingListLogic.php index a2acfcb4..e657852b 100644 --- a/app/Classes/Modules/PackingLists/ControllersLogic/CreateDeliverPackingListLogic.php +++ b/app/Classes/Modules/PackingLists/ControllersLogic/CreateDeliverPackingListLogic.php @@ -14,7 +14,7 @@ use App\Classes\ValueObjects\Constants\OrderRoleTypes; use App\Classes\ValueObjects\Constants\PackingListType; use App\Http\Resources\DeliverPackingListResource; -use App\Transformers\DeliveryPackingListTransformer; +use App\Transformers\DeliverPackingListTransformer; use Illuminate\Http\JsonResponse; use Illuminate\Http\Request; diff --git a/app/Transformers/DeliverPackingListTransformer.php b/app/Transformers/DeliverPackingListTransformer.php new file mode 100644 index 00000000..9e4fd620 --- /dev/null +++ b/app/Transformers/DeliverPackingListTransformer.php @@ -0,0 +1,78 @@ + $this->$list, + 'claimant_id' => $list->claimant_id, + 'reference' => $list->reference, + 'status' => $list->status, + ]; + } + + /** + * include transport + * @param PackingList $list + * @return Item + */ + public function includeTransport(PackingList $list): Item + { + return $this->item($list->transports()->first(), new TransportTransformer); + } + + /** + * add packing list + * @param PackingList $list + * @return Collection + */ + public function includePackingList(PackingList $list): Collection + { + return $this->collection($list->packing_list_owner(), new PackageListTransformer); + } + + /** + * add company + * @param PackingList $list + * @return Item + */ + public function includeCompany(PackingList $list): Item + { + return $this->item($list->owner(), new CompanyModuleTransformer); + } +} diff --git a/app/Transformers/DeliveryPackingListTransformer.php b/app/Transformers/DeliveryPackingListTransformer.php index eb8f37bd..af9e18b4 100644 --- a/app/Transformers/DeliveryPackingListTransformer.php +++ b/app/Transformers/DeliveryPackingListTransformer.php @@ -3,7 +3,6 @@ namespace App\Transformers; use App\Models\PackingList; -use League\Fractal\Resource\Collection; use League\Fractal\Resource\Item; use League\Fractal\TransformerAbstract; @@ -15,10 +14,7 @@ class DeliveryPackingListTransformer extends TransformerAbstract * @var array */ protected $defaultIncludes = [ - 'transport', - 'packing_list', - 'company' - + 'transport' ]; /** @@ -33,46 +29,32 @@ class DeliveryPackingListTransformer extends TransformerAbstract /** * A Fractal transformer. * - * @param PackingList $list * @return array */ public function transform(PackingList $list): array { + $package = $list->packages()->first(); + return [ - 'id' => $this->$list, + 'id' => $list->id, 'claimant_id' => $list->claimant_id, 'reference' => $list->reference, 'status' => $list->status, + 'type' => $package->type, + 'description' => $package->description, + 'weight' => (float)$package->weight, + 'quantity' => (float)$package->quantity, ]; } /** - * include transport + * Include Transport + * * @param PackingList $list * @return Item */ public function includeTransport(PackingList $list): Item { - return $this->item($list->transports()->first(), new TransportTransformer); - } - - /** - * add packing list - * @param PackingList $list - * @return Collection - */ - public function includePackingList(PackingList $list): Collection - { - return $this->collection($list->packing_list_owner(), new PackageListTransformer); - } - - /** - * add company - * @param PackingList $list - * @return Item - */ - public function includeCompany(PackingList $list): Item - { - return $this->item($list->owner(), new CompanyModuleTransformer); + return $this->item($list->transports()->first(), new TransportTransformer()); } }