mirror of
https://gitlab.com/CIEFWorldwideSdnBhd/exchange-2.0.git
synced 2026-08-20 04:53:56 +00:00
54 lines
1.7 KiB
PHP
54 lines
1.7 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Resources;
|
|
|
|
use App\Models\Booking;
|
|
use App\Models\Company;
|
|
use App\Models\Document;
|
|
use Carbon\Carbon;
|
|
use Illuminate\Database\Eloquent\Model;
|
|
use Illuminate\Http\Resources\Json\JsonResource;
|
|
use Illuminate\Support\Facades\Log;
|
|
use Illuminate\Support\Facades\Auth;
|
|
use Illuminate\Http\Resources\Json\AnonymousResourceCollection;
|
|
|
|
class DocumentResource extends JsonResource
|
|
{
|
|
// protected $userInfo;
|
|
|
|
// public function userInfo($resource, $userInfo = null)
|
|
// {
|
|
// $this->userInfo = $userInfo;
|
|
// }
|
|
|
|
private static $userInfo;
|
|
|
|
/**
|
|
* Transform the resource into an array.
|
|
*
|
|
* @param \Illuminate\Http\Request $request
|
|
* @return array
|
|
*/
|
|
public function toArray($request)
|
|
{
|
|
//cief todo: remove
|
|
// Log::error('DocumentResource 1: '. json_encode(self::$userInfo));
|
|
// Log::error('DocumentResource 2: '. json_encode($this->relationLoaded('owner')));
|
|
return [
|
|
'id' => $this->id,
|
|
'reference' => $this->reference,
|
|
'status' => (int) $this->status,
|
|
'document_type' => $this->document_type,
|
|
'owner' => $this->relationLoaded('owner') ? ($this->owner instanceof Booking ? new BookingResource($this->owner, self::$userInfo) : new CompanyResource($this->owner, self::$userInfo)) : null,
|
|
'files' => FileResource::collection($this->files),
|
|
'created_at' => Carbon::parse($this->created_at)->format('d-m-Y h:i:s A')
|
|
];
|
|
}
|
|
|
|
public static function customResourceCollection($resource, $userInfo): AnonymousResourceCollection
|
|
{
|
|
self::$userInfo = $userInfo;
|
|
return parent::collection($resource);
|
|
}
|
|
}
|