From: Côme Chilliet Date: Tue, 20 Jun 2023 10:14:57 +0000 (+0200) Subject: Throw if creation date is read before inserting into database X-Git-Tag: v28.0.0beta1~863^2 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=7aa97dcc2369c421b6d32ad32c33d357e582af4a;p=nextcloud-server.git Throw if creation date is read before inserting into database Signed-off-by: Côme Chilliet --- diff --git a/lib/private/Comments/Comment.php b/lib/private/Comments/Comment.php index af2c73c770b..35e88c74438 100644 --- a/lib/private/Comments/Comment.php +++ b/lib/private/Comments/Comment.php @@ -304,9 +304,13 @@ class Comment implements IComment { * * If not explicitly set, it shall default to the time of initialization. * @since 9.0.0 + * @throw \LogicException if creation date time is not set yet */ public function getCreationDateTime(): \DateTime { - return $this->data['creationDT'] ?? new \DateTime(); + if (!isset($this->data['creationDT'])) { + throw new \LogicException('Cannot get creation date before setting one or writting to database'); + } + return $this->data['creationDT']; } /** diff --git a/lib/private/Comments/Manager.php b/lib/private/Comments/Manager.php index ee5b59c98ec..af4fda277d6 100644 --- a/lib/private/Comments/Manager.php +++ b/lib/private/Comments/Manager.php @@ -154,7 +154,9 @@ class Manager implements ICommentsManager { $comment->setLatestChildDateTime(null); } - if (is_null($comment->getCreationDateTime())) { + try { + $comment->getCreationDateTime(); + } catch(\LogicException $e) { $comment->setCreationDateTime(new \DateTime()); }