diff --git a/app/Classes/Modules/Documents/Processors/ListDocumentJobProcessor.php b/app/Classes/Modules/Documents/Processors/ListDocumentJobProcessor.php index 4b0309ed..d9e1162e 100644 --- a/app/Classes/Modules/Documents/Processors/ListDocumentJobProcessor.php +++ b/app/Classes/Modules/Documents/Processors/ListDocumentJobProcessor.php @@ -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)); diff --git a/app/Http/Resources/BookingResource.php b/app/Http/Resources/BookingResource.php index d07247e7..c3c2e24d 100644 --- a/app/Http/Resources/BookingResource.php +++ b/app/Http/Resources/BookingResource.php @@ -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. * diff --git a/app/Http/Resources/DocumentResource.php b/app/Http/Resources/DocumentResource.php index 20da2c45..6f9ade71 100644 --- a/app/Http/Resources/DocumentResource.php +++ b/app/Http/Resources/DocumentResource.php @@ -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); - } }