UserController.php 795 B

12345678910111213141516171819202122232425262728
  1. <?php
  2. namespace App\Api\v1\Controllers;
  3. use App\Api\v1\Resources\UserResource;
  4. use App\Http\Controllers\Controller;
  5. use App\Models\User;
  6. use Illuminate\Http\Request;
  7. class UserController extends Controller
  8. {
  9. /**
  10. * Get detailed information about a user
  11. *
  12. * @return \App\Api\v1\Resources\UserResource|\Illuminate\Http\JsonResponse
  13. */
  14. public function show(Request $request)
  15. {
  16. // 2 cases:
  17. // - The method is called from a protected route > we return the request's authenticated user
  18. // - The method is called from a guest route > we fetch a possible registered user
  19. $user = $request->user() ?: User::first();
  20. return $user
  21. ? new UserResource($user)
  22. : response()->json(['name' => null], 200);
  23. }
  24. }