<?php
namespace App\Entity\ConversationMessage;
use App\Entity\User;
use App\Utility\DateTimeUtility;
use DateTime;
use Doctrine\ORM\Mapping as ORM;
use Exception;
/**
* @ORM\Entity
*
* @ORM\Table(name="cached_unread_conversation_messages_counts")
*/
class CachedUnreadConversationMessagesCount
{
/**
* @throws Exception
*/
public function __construct(
User $user,
int $numberOfUnreadMessages
) {
$this->user = $user;
$this->numberOfUnreadMessages = $numberOfUnreadMessages;
$this->updatedAt = DateTimeUtility::createDateTimeUtc();
}
/**
* @ORM\Id
*
* @ORM\OneToOne(targetEntity="App\Entity\User", cascade={"persist"})
*
* @ORM\JoinColumn(name="users_id", referencedColumnName="id", nullable=false, onDelete="CASCADE")
*/
private User $user;
/**
* @ORM\Column(name="number_of_unread_messages", type="integer", nullable=false)
*/
private int $numberOfUnreadMessages;
public function getNumberOfUnreadMessages(): int
{
return $this->numberOfUnreadMessages;
}
public function setNumberOfUnreadMessages(
int $numberOfUnreadMessages
): void {
$this->numberOfUnreadMessages = $numberOfUnreadMessages;
}
/**
* @ORM\Column(name="updated_at", type="datetime", nullable=false)
*/
private DateTime $updatedAt;
public function getUpdatedAt(): DateTime
{
return $this->updatedAt;
}
public function setUpdatedAt(DateTime $updatedAt): void
{
$this->updatedAt = $updatedAt;
}
}