Make use of the new API for the conversation feed (#192)
[GitHub/WoltLab/com.woltlab.wcf.conversation.git] / files / lib / data / conversation / Conversation.class.php
index 1f59d14487c41a6cd8816a9752d4c023c723963d..abb8fb21bf7a1440b5eef9b2f73d41d8a2cfeb7f 100644 (file)
@@ -8,6 +8,7 @@ use wcf\data\IPopoverObject;
 use wcf\data\user\group\UserGroup;
 use wcf\data\user\ignore\UserIgnore;
 use wcf\data\user\UserProfile;
+use wcf\system\cache\runtime\ConversationMessageRuntimeCache;
 use wcf\system\cache\runtime\UserProfileRuntimeCache;
 use wcf\system\conversation\ConversationHandler;
 use wcf\system\database\util\PreparedStatementConditionBuilder;
@@ -76,12 +77,6 @@ class Conversation extends DatabaseObject implements IPopoverObject, IRouteContr
      */
     protected $canAddUnrestricted;
 
-    /**
-     * first message object
-     * @var ConversationMessage
-     */
-    protected $firstMessage;
-
     /**
      * true if the current user is an active participant of this conversation
      * @var bool
@@ -313,28 +308,9 @@ class Conversation extends DatabaseObject implements IPopoverObject, IRouteContr
         return $this->canAddUnrestricted;
     }
 
-    /**
-     * Returns the first message in this conversation.
-     *
-     * @return  ConversationMessage
-     */
-    public function getFirstMessage()
-    {
-        if ($this->firstMessage === null) {
-            $this->firstMessage = new ConversationMessage($this->firstMessageID);
-        }
-
-        return $this->firstMessage;
-    }
-
-    /**
-     * Sets the first message.
-     *
-     * @param ConversationMessage $message
-     */
-    public function setFirstMessage(ConversationMessage $message)
+    public function getFirstMessage(): ?ConversationMessage
     {
-        $this->firstMessage = $message;
+        return ConversationMessageRuntimeCache::getInstance()->getObject($this->firstMessageID);
     }
 
     /**