<?php

namespace App\Http\Resources;

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

class Publications 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)
    {
        $block_title = $this->block_title;
        if ($block_title) {
            if (array_key_exists('objectId', $block_title)) {
                $websiteObject = WebsiteObject::find($block_title['objectId']);
                if ($websiteObject) {
                    $block_title['url'] = $websiteObject->uri;
                }
            }
        }
        unset($block_title['objectid']);

        $out = [
            'id'          => (int)$this->id,
            'title'       => $block_title,
            'blackTitle'  => $this->title,
            'authors'     => $this->authors,
            'reference'   => $this->reference,
            'date'        => substr($this->publication_date, 0, 10),
            'themes'      => new ThemesCollection($this->themes),
        ];

        return $out;
    }
}
