<?php

namespace App\Http\Resources;

use Illuminate\Http\Resources\Json\JsonResource;
use App\Http\Resources\ThemesCollection;
use App\Http\Resources\AuthorsCollection;
use App\Http\Resources\ModelsCollection;
use App\Http\Resources\SimpleLinks;
use App\Models\GenericBackoffice\WebsiteObject;

class Tutorials extends JsonResource
{
    /**
     * Transform the resource into an array.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return array
     */

    public function __construct($resource)
    {
        $this->resource = $resource;
    }

    public function toArray($request)
    {
        $reference = $this->reference;
        if ($reference) {
            if (array_key_exists('objectId', $reference)) {
                $websiteObject = WebsiteObject::find($reference['objectId']);
                if ($websiteObject) {
                    $reference['url'] = $websiteObject->uri;
                }
            }
        }
        unset($reference['objectId']);

        $out = [
            'id'        => (int)$this->id,
            'title'     => $this->block_title,
            'authors'   => new AuthorsCollection($this->authors),
            'models'    => new ModelsCollection($this->models),
            'links'     => new WebLinksCollection($this->links),
            'reference' => $reference,
            'longTitle' => $this->long_title == 'yes' ? true : false,
            'tabId'     => $this->tab_id,
        ];

        return $out;
    }
}
