<?php namespace Eae\Transformation\Transformer;

use League\Fractal;
use Lang;
use Entry;

class EntryTransformer extends Fractal\TransformerAbstract
{

    protected $defaultIncludes = [
        'blocks'
    ];

    protected $availableIncludes = [];

    public function __construct()
    {

    }

    public function transform(Entry $entry)
    {
        // SEO IMAGE
        $image = $entry->metaImage;


        $out = [
            'id'               => (int)$entry->id,
            'title'            => $entry->title,
            'slug'             => $entry->lang_slug,
            'template'         => $entry->template,
            'meta_title'       => $entry->meta_title,
            'meta_description' => $entry->meta_description,
            'meta_image'       => isset($image->filename) ? getMediaUrl($image->filename, '1200x630') : ''
        ];

        return $out;
    }

    public function includeBlocks(Entry $entry)
    {
        return $this->collection($entry->blocks, new BlockTransformer());
    }
}
