<?php namespace Eae\Transformation\Transformer;

use League\Fractal;
use Lang;
use Occurrence;

class RadioTransformer extends Fractal\TransformerAbstract
{

    protected $defaultIncludes = [
        'categories'
    ];

    protected $availableIncludes = [];

    public function __construct()
    {

    }

    public function transform(Occurrence $occurrence)
    {
        $image = $occurrence->occurrenceImage;
        $occurrenceDate = db_date_to_carbon($occurrence->occurrence_date);

        $out = [
            'id'          => (int)$occurrence->id,
            'title'       => $occurrence->title ? $occurrence->title : '',
            'description' => $occurrence->occurrence_description ? $occurrence->occurrence_description : '',
            'audio'       => $occurrence->occurrence_audio ? $occurrence->occurrence_audio : '',
            'image'       => isset($image->filename) ? getMediaUrl($image->filename) : '',
            'thumb_image' => isset($image->filename) ? getMediaUrl($image->filename, '650x518') : '',
            'date'        => $occurrenceDate->format("d-m-Y"),
            'slug'        => $occurrence->lang_slug
        ];

        return $out;
    }

    public function includeCategories(Occurrence $occurrence)
    {
        return $this->collection($occurrence->categories, new CategoryTransformer());
    }
}
