getString(0), userId: $result->getStringOrNull(1), action: $result->getInteger(2), created: $result->getInteger(3), summary: $result->getString(4), body: $result->getString(5), ); } public function getId(): string { return $this->id; } public function hasUserId(): bool { return $this->userId !== null; } public function getUserId(): ?string { return $this->userId; } public function getActionId(): int { return $this->action; } public function getAction(): string { return Changelog::convertFromActionId($this->action); } public function getActionText(): string { return Changelog::actionText($this->action); } public function getCreatedTime(): int { return $this->created; } public function getCreatedAt(): DateTime { return DateTime::fromUnixTimeSeconds($this->created); } public function getDate(): string { return gmdate('Y-m-d', $this->created); } public function getSummary(): string { return $this->summary; } public function hasBody(): bool { return !empty($this->body); } public function getBody(): string { return $this->body; } public function getCommentsCategoryName(): string { return sprintf('changelog-date-%s', $this->getDate()); } }