StoryTransformer.php 816 B

12345678910111213141516171819202122232425262728293031
  1. <?php
  2. namespace App\Transformer\Api;
  3. use App\Story;
  4. use League\Fractal;
  5. class StoryTransformer extends Fractal\TransformerAbstract
  6. {
  7. protected $defaultIncludes = [
  8. 'items',
  9. ];
  10. public function transform(Story $story)
  11. {
  12. return [
  13. 'id' => (string) $story->id,
  14. 'photo' => $story->profile->avatarUrl(),
  15. 'name' => $story->profile->username,
  16. 'link' => $story->profile->url(),
  17. 'lastUpdated' => $story->updated_at->format('U'),
  18. 'seen' => $story->seen(),
  19. ];
  20. }
  21. public function includeItems(Story $story)
  22. {
  23. return $this->item($story, new StoryItemTransformer());
  24. }
  25. }