<?php

namespace App\Http\Resources;

use Illuminate\Http\Resources\Json\ResourceCollection;

class PropertyImagesCollection extends ResourceCollection
{
    private $resize;
    /**
     * Create a new resource instance.
     *
     * @param  mixed  $resource
     * @return void
     */
    public function __construct($resource, $resize = "resizeW1600")
    {
        parent::__construct($resource);

        $this->resource = $this->collectResource($resource);
        $this->resize = $resize;
    }

    /**
     * Transform the resource collection into an array.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return array
     */
    public function toArray($request)
    {
        $this->collection->transform(function ($propertyImage) {
            return (new PropertyImages($propertyImage, $this->resize));
        });

        return parent::toArray($request);
    }
}
