<?php namespace Eae\Transformation\Transformer\Frontend;

use League\Fractal;
use User;

class GalleryTransformer extends Fractal\TransformerAbstract
{
  public function __construct($bestPerformed = FALSE)
  {
    $this->bestPerformed = $bestPerformed;
  }

  public function transform(User $userItem)
  {
    $id = $userItem->id;
    $userSubmission = $userItem->submission;

    if ($this->bestPerformed) {
      $image = !is_null($userSubmission) ? getMediaUrl($userSubmission->finalImage->filename, 'Resize1200x1200') : NULL;
      $pageViews = $userItem->page_views;
    } else {
      $image = !is_null($userSubmission) ? getMediaUrl($userSubmission->finalImage->filename, 'Resize1200x1200') : NULL;
      $pageViews = NULL;
    }

    $smallImage = !is_null($userSubmission) ? getMediaUrl($userSubmission->finalImage->filename, 'Resize12x12') : NULL;

    $out = [
      'id'        => $id,
      'image'     => $image,
      'smallImage' => $smallImage,
      'pageViews' => $pageViews
    ];

    return $out;
  }
}



