diff --git a/app/Http/Resources/PackageReceivedResource.php b/app/Http/Resources/PackageReceivedResource.php new file mode 100644 index 00000000..f162279f --- /dev/null +++ b/app/Http/Resources/PackageReceivedResource.php @@ -0,0 +1,47 @@ +user() ? Auth()->user()->type : RoleTypes::USER; + $exceptionUsers = in_array($userType, [RoleTypes::SHADOW_ADMIN, RoleTypes::SUPER_ADMIN]); + $originalPackingList = $this->packingList->owner instanceof PackingList ? $this->packingList->owner : $this->packingList; + + return [ + 'id' => $this->id, + 'type' => $this->type, + 'description' => $this->description, + 'width' => floatval($this->width), + 'height' => floatval($this->height), + 'length' => floatval($this->length), + 'weight' => $this->weight, + 'quantity' => $this->quantity, + 'cbm' => (($this->width / 100) * ($this->height / 100) * ($this->length / 100)) * $this->quantity, + 'status' => $this->status, + $this->mergeWhen($originalPackingList->owner instanceof Order, [ + 'order' => New OrderResource($originalPackingList->owner) + ]), + 'container' => new ContainerResource($originalPackingList->containers()->first()), + 'transport' => new TransportResource($originalPackingList->transports()->first()), + + 'reference' => $exceptionUsers ? $this->packingList->reference : '', + 'reference_hash' => hash('sha256', $this->packingList->reference), + 'reference_encrypted' => Crypt::encryptString($this->packingList->reference), + ]; + } +} diff --git a/app/Http/Resources/PackingListForContainerBaseResource.php b/app/Http/Resources/PackingListForContainerBaseResource.php index 0f039ad1..8b3cc227 100644 --- a/app/Http/Resources/PackingListForContainerBaseResource.php +++ b/app/Http/Resources/PackingListForContainerBaseResource.php @@ -2,9 +2,7 @@ namespace App\Http\Resources; -use App\Classes\ValueObjects\Constants\ApprovalStatus; use App\Classes\ValueObjects\Constants\PackingListType; -use App\Classes\ValueObjects\Constants\TransactionType; use App\Classes\ValueObjects\Constants\RoleTypes; use App\Models\Order; use App\Models\PackingList; @@ -44,7 +42,7 @@ class PackingListForContainerBaseResource extends JsonResource //option 1: include_packages $packages = !$this->packingLists()->exists() || $exceptionUsers ? $this->packages : $this->packingLists->first()->packages; - $data['packages'] = PackageDeprecatedResource::collection($packages); + $data['packages'] = PackageBaseResource::collection($packages); //option 2b: include_base_only_in_receive_packing_list diff --git a/app/Http/Resources/PackingListForPackagesReceivedResource.php b/app/Http/Resources/PackingListForPackagesReceivedResource.php index 24703202..411bbab9 100644 --- a/app/Http/Resources/PackingListForPackagesReceivedResource.php +++ b/app/Http/Resources/PackingListForPackagesReceivedResource.php @@ -23,8 +23,6 @@ class PackingListForPackagesReceivedResource extends JsonResource $data = [ 'id' => $this->id, 'claimant_id' => $this->claimant_id, - // 'reference' => $this->reference, - // 'reference_encrypted' => Crypt::encryptString($this->reference), 'status' => $this->status, 'transport' => new TransportResource($this->transports()->first()), 'type' => $this->type, @@ -34,15 +32,8 @@ class PackingListForPackagesReceivedResource extends JsonResource ]), ]; - $packages = !$this->packingLists()->exists() || $exceptionUsers ? $this->packages : $this->packingLists->first()->packages; - foreach ($packages as $item) { - $item['include_order'] = true; - $item['include_transport'] = true; - $item['include_container'] = false; - $item['include_packing_list_reference'] = true; - } - $data['packages'] = PackageDeprecatedResource::collection($packages); + $data['packages'] = PackageReceivedResource::collection($packages); return $data; }