<?php namespace Eae\Transformation\Transformer;

use League\Fractal;
use Lang;
use Story;

class StoryTransformer extends Fractal\TransformerAbstract
{

    protected $defaultIncludes = [
        'blocks'
    ];

    protected $availableIncludes = [];

    public function __construct()
    {

    }

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

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

        return $out;
    }

    public function includeBlocks(Story $story)
    {
        return $this->collection($story->blocks, new BlockTransformer(NULL, TRUE));
    }
}
