addType('userId', Types::STRING); $this->addType('state', Types::SMALLINT); $this->addType('localRoomId', Types::BIGINT); $this->addType('accessToken', Types::STRING); $this->addType('remoteServerUrl', Types::STRING); $this->addType('remoteToken', Types::STRING); $this->addType('remoteAttendeeId', Types::BIGINT); $this->addType('inviterCloudId', Types::STRING); $this->addType('inviterDisplayName', Types::STRING); $this->addType('localCloudId', Types::STRING); } /** * @return array{id: int, localCloudId: string, remoteAttendeeId: int, remoteServerUrl: string, remoteToken: string, state: int, userId: string, inviterCloudId: string, inviterDisplayName: string} */ #[\Override] public function jsonSerialize(): array { return [ 'id' => $this->getId(), 'userId' => $this->getUserId(), 'state' => $this->getState(), 'localCloudId' => $this->getLocalCloudId(), 'remoteServerUrl' => $this->getRemoteServerUrl(), 'remoteToken' => $this->getRemoteToken(), 'remoteAttendeeId' => $this->getRemoteAttendeeId(), 'inviterCloudId' => $this->getInviterCloudId(), 'inviterDisplayName' => $this->getInviterDisplayName() ?: $this->getInviterCloudId(), ]; } }