addType('id', Types::BIGINT); $this->addType('moderatorActorType', Types::STRING); $this->addType('moderatorActorId', Types::STRING); $this->addType('moderatorDisplayname', Types::STRING); $this->addType('roomId', Types::BIGINT); $this->addType('bannedActorType', Types::STRING); $this->addType('bannedActorId', Types::STRING); $this->addType('bannedDisplayname', Types::STRING); $this->addType('bannedTime', Types::DATETIME); $this->addType('internalNote', Types::TEXT); } /** * @return TalkBan */ #[\Override] public function jsonSerialize(): array { return [ 'id' => $this->getId(), 'moderatorActorType' => $this->getModeratorActorType(), 'moderatorActorId' => $this->getModeratorActorId(), 'moderatorDisplayName' => $this->getModeratorDisplayname() ?? $this->getModeratorActorId(), 'bannedActorType' => $this->getBannedActorType(), 'bannedActorId' => $this->getBannedActorId(), 'bannedDisplayName' => $this->getBannedDisplayname() ?? $this->getBannedActorId(), 'bannedTime' => $this->getBannedTime()->getTimestamp(), 'internalNote' => $this->getInternalNote() ?? '', ]; } }