<?php namespace App\Api\v1\Controllers; use App\Api\v1\Resources\UserResource; use App\Http\Controllers\Controller; use App\Models\User; use Illuminate\Http\Request; class UserController extends Controller { /** * Get detailed information about a user * * @return \App\Api\v1\Resources\UserResource|\Illuminate\Http\JsonResponse */ public function show(Request $request) { // 2 cases: // - The method is called from a protected route > we return the request's authenticated user // - The method is called from a guest route > we fetch a possible registered user $user = $request->user() ?: User::first(); return $user ? new UserResource($user) : response()->json(['name' => null], 200); } }