mirror of
https://gitlab.com/CIEFWorldwideSdnBhd/shipping-portal.git
synced 2026-08-19 20:44:19 +00:00
53 lines
1.2 KiB
PHP
53 lines
1.2 KiB
PHP
<?php
|
|
|
|
namespace App\Transformers;
|
|
|
|
use App\Models\Document;
|
|
use Carbon\Carbon;
|
|
use League\Fractal\Resource\Collection;
|
|
use League\Fractal\Resource\Item;
|
|
use League\Fractal\TransformerAbstract;
|
|
|
|
class DocumentTransformer extends TransformerAbstract
|
|
{
|
|
|
|
/**
|
|
* Default Includes for Document Module
|
|
* @var array
|
|
*/
|
|
protected array $defaultIncludes = [
|
|
'files'
|
|
];
|
|
/**
|
|
* Available includes
|
|
* @var array
|
|
*/
|
|
protected array $availableIncludes = [
|
|
'owner'
|
|
];
|
|
|
|
public function transform(Document $document): array
|
|
{
|
|
return [
|
|
'id' => $document->id,
|
|
'reference' => $document->reference,
|
|
'status' => $document->status,
|
|
'document_type' => $document->document_type,
|
|
'created_at' => Carbon::parse($document->created_at)->format('d-m-Y h:i:s A')
|
|
];
|
|
}
|
|
|
|
public function includeFiles(Document $document): Collection
|
|
{
|
|
$files = $document->files;
|
|
return $this->collection($files, new FileTransformer());
|
|
}
|
|
|
|
public function includeOwner(Document $document): Item
|
|
{
|
|
$owner = $document->owner;
|
|
return $this->item($owner, new CompanyTransformer());
|
|
}
|
|
|
|
}
|