diff --git a/app/Api/v1/Controllers/UserController.php b/app/Api/v1/Controllers/UserController.php index 89a43a72..7c427682 100644 --- a/app/Api/v1/Controllers/UserController.php +++ b/app/Api/v1/Controllers/UserController.php @@ -2,8 +2,8 @@ namespace App\Api\v1\Controllers; -use App\Api\v1\Resources\UserResource; use App\Api\v1\Requests\SettingUpdateRequest; +use App\Api\v1\Resources\UserResource; use App\Http\Controllers\Controller; use App\Models\User; use Illuminate\Http\Request; @@ -12,20 +12,13 @@ use Illuminate\Support\Arr; class UserController extends Controller { /** - * Get detailed information about a user + * Get detailed information about the authenticated 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); + return new UserResource($request->user()); } /** @@ -81,8 +74,8 @@ class UserController extends Controller } $validated = $request->validated(); - - $request->user()['preferences->'.$preferenceName] = $validated['value']; + + $request->user()['preferences->' . $preferenceName] = $validated['value']; $request->user()->save(); return response()->json([ diff --git a/app/Api/v1/Resources/UserResource.php b/app/Api/v1/Resources/UserResource.php index f18f3f1b..4fefeeec 100644 --- a/app/Api/v1/Resources/UserResource.php +++ b/app/Api/v1/Resources/UserResource.php @@ -8,6 +8,7 @@ use Illuminate\Http\Resources\Json\JsonResource; * @property mixed $id * @property string $name * @property string $email + * @property string $is_admin */ class UserResource extends JsonResource { @@ -20,10 +21,10 @@ class UserResource extends JsonResource public function toArray($request) { return [ - 'id' => $this->when(! is_null($request->user()), $this->id), + 'id' => $this->id, 'name' => $this->name, - 'email' => $this->when(! is_null($request->user()), $this->email), - 'is_admin' => $this->when(! is_null($request->user()), $this->is_admin), + 'email' => $this->email, + 'is_admin' => $this->is_admin, ]; } } diff --git a/resources/js/views/auth/Login.vue b/resources/js/views/auth/Login.vue index 4a9e608d..d5a80137 100644 --- a/resources/js/views/auth/Login.vue +++ b/resources/js/views/auth/Login.vue @@ -1,7 +1,7 @@