<?php

namespace App\Http\Resources;

use App\Helpers\Backoffice\MediaHelper;
use Illuminate\Http\Resources\Json\JsonResource;

class ImageResource extends JsonResource
{

    protected $size = null;

    public function __construct($resource, $size = null)
    {
        parent::__construct($resource);
        $this->size = $size;
    }

    /**
     * Transform the resource into an array.
     *
     * @param \Illuminate\Http\Request $request
     * @return array
     */

    public function toArray($request)
    {
        return [
            'id' => $this->id,
            'title' => $this->title,
            'alt' => $this->alt,
            'author' => $this->author,
            'width' => $this->width,
            'height' => $this->height,
            'originalUrl' => $this->original_url,
            'smallUrl' => MediaHelper::getMediaThumbUrl($this->resource, '600x'),
            'mediumUrl' => MediaHelper::getMediaThumbUrl($this->resource, '1200x'),
            'largeUrl' => MediaHelper::getMediaThumbUrl($this->resource, '1800x'),
            'xlargeUrl' => MediaHelper::getMediaThumbUrl($this->resource, '2400x'),
            'thumbUrl' => MediaHelper::getMediaThumbUrl($this->resource, '200x'),
            'customSizeUrl' => $this->size ? MediaHelper::getMediaThumbUrl($this->resource, $this->size) : null,
        ];
    }
}
