$row */ public static function transformEvent(array $row): ClientEvent { return new ClientEvent( content: json_decode($row["content"], true), eventId: $row["id"], originServerTimestamp: new \DateTime($row["origin_server_timestamp"])->getTimestamp(), roomId: $row["room_id"], sender: $row["sender"], type: EventType::from($row["type"]), unsigned: json_decode($row["unsigned"], true), ); } public function insert(): bool { if ($this->event instanceof StateEvent) { return !! Database::getInstance()->query(<< $this->event->getId(), "content" => json_encode($this->event->getContent()), "type" => $this->event->getType()->value, "sender" => $this->event->getSender(), "origin_server_timestamp" => \DateTime::createFromTimestamp($this->event->getOriginServerTimestamp())->format("U.v"), "room_id" => $this->event->getRoomId(), "unsigned" => json_encode($this->event->getUnsigned()), "state_key" => $this->event->getStateKey(), ]); } return !! Database::getInstance()->query(<< $this->event->getId(), "content" => json_encode($this->event->getContent()), "type" => $this->event->getType()->value, "sender" => $this->event->getSender(), "origin_server_timestamp" => \DateTime::createFromTimestamp($this->event->getOriginServerTimestamp())->format("U.v"), "room_id" => $this->event->getRoomId(), "unsigned" => json_encode($this->event->getUnsigned()), ]); } }