<?php

namespace App\Http\Resources\V1\Blocks;

use Illuminate\Http\Resources\Json\JsonResource;
use App\Http\Resources\V1\BlockWysiwygResource;

class BlockResource extends JsonResource
{

    /**
     * Transform the resource into an array.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return array
     */
    public function toArray($request)
    {
        return [
            'id'       => $this->id,
            'name'     => $this->title,
            'type'     => $this->type,
            'contents' => $this->getBlock()
        ];
    }



    private function getBlock()
    {

        $blockType     = $this->type;
        $resourceClass = sprintf("%s\%sResource", __NAMESPACE__, ucfirst($blockType));
        if (class_exists($resourceClass)) {
            return new $resourceClass($this->resource);
        }
        return [];
    }
}
