diff --git a/app/Http/Controllers/Api/Users/UserController.php b/app/Http/Controllers/Api/Users/UserController.php index 7362e792..f477641a 100644 --- a/app/Http/Controllers/Api/Users/UserController.php +++ b/app/Http/Controllers/Api/Users/UserController.php @@ -9,6 +9,7 @@ use App\Http\Requests\Users\UserStoreRequest; use App\Http\Requests\Users\UserUpdateRequest; use App\Http\Resources\Users\LoginActivityResource; use App\Http\Resources\Users\UserWithRolesResource; +use App\Models\User; use App\Services\Users\LoginActivityService; use App\Services\Users\UserListService; use App\Services\Users\UserManagementService; @@ -63,6 +64,27 @@ class UserController extends BaseApiController ], 201); } + public function show(int $userId): JsonResponse + { + $guard = $this->authenticatedUserIdOrUnauthorized(); + if ($guard instanceof JsonResponse) { + return $guard; + } + + $user = User::getUserInfoById($userId); + if ($user === null) { + return response()->json([ + 'ok' => false, + 'message' => 'User not found.', + ], 404); + } + + return response()->json([ + 'ok' => true, + 'user' => $user, + ]); + } + public function update(UserUpdateRequest $request, int $userId): JsonResponse { $guard = $this->authenticatedUserIdOrUnauthorized(); diff --git a/routes/api.php b/routes/api.php index b7d5f121..82fde2a9 100644 --- a/routes/api.php +++ b/routes/api.php @@ -760,6 +760,7 @@ Route::prefix('v1')->group(function () { Route::get('/', [UserController::class, 'index']); Route::post('/', [UserController::class, 'store']); Route::get('login-activity', [UserController::class, 'loginActivity']); + Route::get('{userId}', [UserController::class, 'show']); Route::put('{userId}', [UserController::class, 'update']); Route::delete('{userId}', [UserController::class, 'destroy']); });