NodeTransformer.php 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. <?php
  2. namespace App\Repositories\Transformers\Course;
  3. use App\Repositories\Models\Course\Node;
  4. use League\Fractal\TransformerAbstract;
  5. class NodeTransformer extends TransformerAbstract
  6. {
  7. /**
  8. * Prepare data to present.
  9. *
  10. * @param Node $node
  11. * @return array
  12. */
  13. public function transform(Node $node)
  14. {
  15. if (isApiModule()) {
  16. return $this->apiTransform($node);
  17. }
  18. if (request()->has('id')) {
  19. return [
  20. 'id' => $node->id,
  21. 'course' => $node->course,
  22. 'user' => $node->user,
  23. 'title' => $node->title,
  24. 'body' => $node->body,
  25. 'updated_at' => $node->updated_at ? $node->updated_at->format('Y-m-d H:i:s') : null,
  26. ];
  27. }
  28. return [
  29. 'id' => $node->id,
  30. 'course' => $node->course,
  31. 'user' => $node->user,
  32. 'title' => $node->title,
  33. // 'body' => $node->body,
  34. 'status' => $node->status,
  35. 'updated_at' => $node->updated_at ? $node->updated_at->format('Y-m-d H:i:s') : null,
  36. ];
  37. }
  38. public function apiTransform(Node $node)
  39. {
  40. if (request()->has('id')) {
  41. return [
  42. 'id' => $node->id,
  43. 'course' => $node->course,
  44. 'user' => $node->user,
  45. 'title' => $node->title,
  46. 'body' => $node->body,
  47. 'updated_at' => $node->updated_at ? $node->updated_at->format('Y-m-d H:i:s') : null,
  48. ];
  49. }
  50. return [
  51. 'id' => $node->id,
  52. 'course' => $node->course,
  53. 'user' => $node->user,
  54. 'title' => $node->title,
  55. // 'body' => $node->body,
  56. 'updated_at' => $node->updated_at ? $node->updated_at->format('Y-m-d H:i:s') : null,
  57. ];
  58. }
  59. }