Vue Polling - Code sycn with fixes from Shipping Portal (dillon/51-vue-polling-experimental-1)

This commit is contained in:
Dillon Ngo
2023-12-18 17:21:57 +08:00
parent bf9b00c85f
commit 5fd242b424
3 changed files with 13 additions and 27 deletions
@@ -40,15 +40,11 @@ class ListDocumentJobProcessor
public function execute(ListGenericJobObject $listGenericJobObject) {
$query = $this->listsDocuments->execute($this->listsDocuments->deserializeFilters($listGenericJobObject->getPayload()['filters']), ['page' => $listGenericJobObject->getPayload()['page']]);
foreach ($query->items() as &$item) {
$item['userInfo'] = $listGenericJobObject->getUserInfo();
}
//cief todo: remove comments
//attempt 1
// $result = $this->collectionResponse(DocumentResource::collection($query, $listGenericJobObject->getuserInfo()));
//attempt 2
// $result = new JobDocumentCollectionResponse($query, $listGenericJobObject->getuserInfo());
$result = $this->collectionResponse(DocumentResource::customResourceCollection($query, $listGenericJobObject->getuserInfo()));
// $result = $this->collectionResponse(new DocumentResourceCollection(DocumentResource::collection($query), $listGenericJobObject->getuserInfo()));
$result = $this->collectionResponse(DocumentResource::collection($query));
$create = $this->createsJobResult->execute($listGenericJobObject, json_encode($result));
+8
View File
@@ -16,6 +16,14 @@ use Illuminate\Support\Facades\Log;
class BookingResource extends JsonResource
{
private $userInfo;
public function __construct($resource, $userInfo = null)
{
parent::__construct($resource);
$this->userInfo = $userInfo ?? ($resource->userInfo ?? null);
}
/**
* Transform the resource into an array.
*
+1 -19
View File
@@ -14,15 +14,6 @@ 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.
*
@@ -31,23 +22,14 @@ class DocumentResource extends JsonResource
*/
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,
'owner' => $this->relationLoaded('owner') ? ($this->owner instanceof Booking ? new BookingResource($this->owner, $this->userInfo) : new CompanyResource($this->owner, $this->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);
}
}