<?php

namespace App\Http\Resources\Article;

use App\Http\Resources\CategoryResource;
use App\Http\Resources\ImageResource;
use Illuminate\Http\Resources\Json\JsonResource;

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

    public function toArray($request)
    {
        $out = [
            'id' => (int)$this->id,
            'title' => $this->title,
            'slug' => $this->slug,
            'category' => new CategoryResource($this->category),
            'author' => $this->author,
            'readingTime' => $this->reading_time,
            'publishedDate' => $this->published_date,
            'content' => $this->content,
            'featuredImage' => new ImageResource($this->featuredImage, '956x613'),
            'officeInfo' => $this->office_info,
            'imageTextBlockTitle' => $this->title_image_text_block,
            'imageTextBlockContent' => $this->content_image_text_block,
            'imageTextBlock' => new ImageResource($this->imageTextBlock, '700x497'),
            'labelMagazineBlock' => $this->label_magazine_block,
            'titleMagazineBlock' => $this->title_magazine_block,
            'imageMagazine' => new ImageResource($this->imageMagazine, '600x846'),
            'relatedArticles' => ArticleListResource::collection($this->relatedArticles),
            'metaTitle' => $this->meta_title,
            'metaDescription' => $this->meta_description,
        ];

        return $out;
    }
}
