src/App/Entity/ConversationMessage/CachedUnreadConversationMessagesCount.php line 16

Open in your IDE?
  1. <?php
  2. namespace App\Entity\ConversationMessage;
  3. use App\Entity\User;
  4. use App\Utility\DateTimeUtility;
  5. use DateTime;
  6. use Doctrine\ORM\Mapping as ORM;
  7. use Exception;
  8. /**
  9. * @ORM\Entity
  10. *
  11. * @ORM\Table(name="cached_unread_conversation_messages_counts")
  12. */
  13. class CachedUnreadConversationMessagesCount
  14. {
  15. /**
  16. * @throws Exception
  17. */
  18. public function __construct(
  19. User $user,
  20. int $numberOfUnreadMessages
  21. ) {
  22. $this->user = $user;
  23. $this->numberOfUnreadMessages = $numberOfUnreadMessages;
  24. $this->updatedAt = DateTimeUtility::createDateTimeUtc();
  25. }
  26. /**
  27. * @ORM\Id
  28. *
  29. * @ORM\OneToOne(targetEntity="App\Entity\User", cascade={"persist"})
  30. *
  31. * @ORM\JoinColumn(name="users_id", referencedColumnName="id", nullable=false, onDelete="CASCADE")
  32. */
  33. private User $user;
  34. /**
  35. * @ORM\Column(name="number_of_unread_messages", type="integer", nullable=false)
  36. */
  37. private int $numberOfUnreadMessages;
  38. public function getNumberOfUnreadMessages(): int
  39. {
  40. return $this->numberOfUnreadMessages;
  41. }
  42. public function setNumberOfUnreadMessages(
  43. int $numberOfUnreadMessages
  44. ): void {
  45. $this->numberOfUnreadMessages = $numberOfUnreadMessages;
  46. }
  47. /**
  48. * @ORM\Column(name="updated_at", type="datetime", nullable=false)
  49. */
  50. private DateTime $updatedAt;
  51. public function getUpdatedAt(): DateTime
  52. {
  53. return $this->updatedAt;
  54. }
  55. public function setUpdatedAt(DateTime $updatedAt): void
  56. {
  57. $this->updatedAt = $updatedAt;
  58. }
  59. }