Spamworldpro Mini Shell
Spamworldpro


Server : Apache
System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64
User : corals ( 1002)
PHP Version : 7.4.33
Disable Function : exec,passthru,shell_exec,system
Directory :  /home/corals/medad.corals.io/Corals/modules/Medad/Transformers/API/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/corals/medad.corals.io/Corals/modules/Medad/Transformers/API/DeliveryNoteTransformer.php
<?php

namespace Corals\Modules\Medad\Transformers\API;

use Corals\Modules\Medad\Models\DeliveryNote;
use Corals\Modules\Utility\Transformers\API\Comment\CommentPresenter;
use Corals\User\Transformers\API\UserPresenter;
use Illuminate\Support\Arr;

class DeliveryNoteTransformer extends CommonAPIBaseTransformer
{
    /**
     * @param DeliveryNote $deliveryNote
     * @return array
     */
    public function transform(DeliveryNote $deliveryNote)
    {
        $userPresenter = new UserPresenter();
        $companyPresenter = new CompanyPresenter();
        $branchPresenter = new BranchPresenter();
        $projectPresenter = new ProjectPresenter();
        $purchaseOrderPresenter = new PurchaseOrderPresenter();
        $commentPresenter = new CommentPresenter();

        $transformedArray = [
            'id' => $deliveryNote->id,
            'code' => $deliveryNote->code,
            'notes' => $deliveryNote->notes,
            'types_count' => $deliveryNote->types_count,
            'total_quantity' => $deliveryNote->total_quantity,
            'status' => apiOptionAsObject($deliveryNote->status,
                data_get(trans('Medad::attributes.delivery_note.status_options'), $deliveryNote->status)),
            'owner' => $this->presentAPIModel($deliveryNote->owner, $userPresenter),
            'customer' => $this->presentAPIModel($deliveryNote->customerCompany, $companyPresenter),
            'supplier' => $this->presentAPIModel($deliveryNote->supplierCompany, $companyPresenter),
            'customer_branch' => $this->presentAPIModel($deliveryNote->customerBranch, $branchPresenter),
            'supplier_branch' => $this->presentAPIModel($deliveryNote->supplierBranch, $branchPresenter),
            'driver' => $deliveryNote->driver ? $this->presentAPIModel($deliveryNote->driver, $userPresenter) : null,
            'recipient_name' => $deliveryNote->recipient_name,
            'recipient_phone' => $deliveryNote->recipient_phone,
            'recipient_id_number' => $deliveryNote->recipient_id_number,
            'items_source' => $deliveryNote->items_source,
            'schedule_date' => format_date_time($deliveryNote->schedule_date),
            'started_at' => format_date_time($deliveryNote->started_at),
            'completed_at' => format_date_time($deliveryNote->completed_at),
            'assignment_date' => format_date_time($deliveryNote->assignment_date),
            'purchase_order' => $this->presentAPIModel($deliveryNote->purchaseOrder, $purchaseOrderPresenter),
            'project' => $deliveryNote->project ? $this->presentAPIModel($deliveryNote->project,
                $projectPresenter) : null,
            'latest_note' => $this->presentAPIModel($deliveryNote->comments()->first(),$commentPresenter),
            'attachments' => $this->getAttachmentsList($deliveryNote),

            'created_at' => format_date($deliveryNote->created_at),
            'updated_at' => format_date($deliveryNote->updated_at),
        ];

        return parent::transformResponse($transformedArray, $deliveryNote);
    }
}

Spamworldpro Mini