<?php

namespace App\Http\Resources;

use Illuminate\Http\Resources\Json\ResourceCollection;

class ResidentialComplexImagesCollection extends ResourceCollection
{
    /**
     * @var array
     */
    private $parameters;

    /**
     * Create a new resource instance.
     *
     * @param  mixed $resource
     * @param array $parameters
     */
    public function __construct($resource, $parameters = null)
    {
        parent::__construct($resource);
        $this->resource = $resource;
        $this->parameters = is_array($parameters) ? $parameters : [];
    }

    /**
     * Transform the resource collection into an array.
     *
     * @param  \Illuminate\Http\Request $request
     * @return array
     */
    public function toArray($request)
    {
        $result = [];
        $medias = $this->collection;
        foreach ($medias as $key => $media) {
            if (isset($this->parameters['portrait'])) {
                $result[] = [
                    "big_size" => [
                        'default' => asset($media->getUrl('main_big')),
                        'webp' => asset($media->getUrl('main_big_webp')),
                    ],
                    "small_size" => [
                        'default' => asset($media->getUrl('main_small')),
                        'webp' => asset($media->getUrl('main_small_webp')),
                    ],
                ];
            } else {
                $result[] = [
                    "residential_complex" => [
                        'default' => asset($media->getUrl('residential_complex_big')),
                        'webp' => asset($media->getUrl('residential_complex_big_webp')),
                    ],
                    "developer" => [
                        "default" => asset($media->getUrl('developer')),
                        "webp" => asset($media->getUrl('developer_webp')),
                    ],
                    "list" => [
                        "default" => asset($media->getUrl('list')),
                        "webp" => asset($media->getUrl('list_webp')),
                    ]
                ];
            }

        }

        return $result;
    }
}
