userModel = new UserModel(); } public function __invoke(ServerRequestInterface $request) { $userId = (int) ($request->getAttribute('user_id') ?? 0); if ($userId <= 0) { return Payload::fail('Unauthorized: Missing authenticated user', [], 'E_VALIDATE', 401); } $profile = $this->userModel->getAuthenticatedProfile($userId); if (!$profile) { return Payload::fail('User not found', [], 'E_NOT_FOUND', 404); } return Payload::ok($profile); } }