<?php namespace Eae\Transformation\Transformer;

use League\Fractal;
use PageSection;

class PageSectionTransformer extends Fractal\TransformerAbstract {  
    protected $availableIncludes = ['contentModules'];
    protected $defaultIncludes = ['contentModules'];

    public function transform(PageSection $section){
        return array(
            'id' => (int) $section->id,
            'title' => $section->title,
            'icon' => $section->icon ? getMediaUrl($section->icon->filename) : null,
            'content' => $section->content
        ); 
    }

    public function includeContentModules(PageSection $section)
    {
		if (!$section->contentModules) {
			return [];
		} 
		return $this->collection($section->contentModules, new ContentModuleTransformer());
	}
}