user()->type, [RoleTypes::SHADOW_ADMIN, RoleTypes::SUPER_ADMIN]); $userType = Auth() && Auth()->user() ? Auth()->user()->type : RoleTypes::USER; $exceptionUsers = in_array($userType, [RoleTypes::SHADOW_ADMIN, RoleTypes::SUPER_ADMIN]); $data = [ '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, // 'container' => new ContainerResource($originalPackingList->containers()->first()), // 'transport' => new TransportResource($originalPackingList->transports()->first()) ]; if($this->include_order || $this->include_transport || $this->include_container) { $originalPackingList = $this->packingList->owner instanceof PackingList ? $this->packingList->owner : $this->packingList; if($this->include_order) { $data['order'] = new OrderResource($originalPackingList->owner); } if($this->include_transport) { $data['transport'] = new TransportResource($originalPackingList->transports()->first()); } if($this->include_container) { $data['container'] = new ContainerResource($originalPackingList->containers()->first()); } } if($this->include_packing_list_reference){ $data['reference'] = $exceptionUsers ? $this->packingList->reference : ''; $data['reference_hash'] = hash('sha256', $this->packingList->reference); $data['reference_encrypted'] = Crypt::encryptString($this->packingList->reference); } return $data; } }