userSession = $userSession; $this->statusService = $statusService; } public function jsonSerialize(): array { $user = $this->userSession->getUser(); if ($user === null) { return []; } try { $status = $this->statusService->findByUserId($user->getUID()); } catch (DoesNotExistException $ex) { return [ 'userId' => $user->getUID(), 'message' => null, 'messageId' => null, 'messageIsPredefined' => false, 'icon' => null, 'clearAt' => null, 'status' => IUserStatus::OFFLINE, 'statusIsUserDefined' => false, ]; } return [ 'userId' => $status->getUserId(), 'message' => $status->getCustomMessage(), 'messageId' => $status->getMessageId(), 'messageIsPredefined' => $status->getMessageId() !== null, 'icon' => $status->getCustomIcon(), 'clearAt' => $status->getClearAt(), 'status' => $status->getStatus(), 'statusIsUserDefined' => $status->getIsUserDefined(), ]; } }