<?php
namespace App\Entity;
use DateTime;
use Doctrine\ORM\Mapping as ORM;
/**
* MessageMatch
*
* @ORM\Table(name="malys_messagematch")
* @ORM\Entity(repositoryClass="App\Repository\MessageMatchRepository")
* @ORM\HasLifecycleCallbacks()
*/
class MessageMatch
{
/**
* @var int
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var DateTime
*
* @ORM\Column(name="createdAt", type="datetime", nullable=false)
*/
protected $createdAt;
/**
* @var DateTime
*
* @ORM\Column(name="updatedAt", type="datetime", nullable=true)
*/
protected $updatedAt;
/**
* @var User
* Many MessageMatches are linked to one User
*
* @ORM\ManyToOne(targetEntity="User", inversedBy="messageMatches")
* @ORM\JoinColumn(name="user_id", referencedColumnName="id")
*/
protected $user;
/**
* @var Message
* Many MessageMatches are linked to one Message
*
* @ORM\ManyToOne(targetEntity="Message", inversedBy="messageMatches")
* @ORM\JoinColumn(name="message_id", referencedColumnName="id")
*/
protected $message;
/**
* @var DateTime
*
* @ORM\Column(name="discardedAt", type="datetime", nullable=true)
*/
protected $discardedAt;
/**
* @var DateTime
*
* @ORM\Column(name="lastActionAt", type="datetime", nullable=true)
*/
protected $lastActionAt;
/**
* @var DateTime
*
* @ORM\Column(name="notificationAt", type="datetime", nullable=true)
*/
protected $notificationAt;
/**
* @return int
*/
public function getId()
{
return $this->id;
}
/**
* @return DateTime
*/
public function getCreatedAt()
{
return $this->createdAt;
}
/**
* @return MessageMatch
* @ORM\PrePersist
*/
public function setCreatedAt()
{
$this->createdAt = new DateTime();
$this->updatedAt = new DateTime();
return $this;
}
/**
* @return DateTime
*/
public function getUpdatedAt()
{
return $this->updatedAt;
}
/**
* @return MessageMatch
*/
public function setUpdatedAt()
{
$this->updatedAt = new DateTime();
return $this;
}
/**
* @return User
*/
public function getUser()
{
return $this->user;
}
/**
* @param User $user
* @return MessageMatch
*/
public function setUser($user)
{
$this->user = $user;
return $this;
}
/**
* @return Message
*/
public function getMessage()
{
return $this->message;
}
/**
* @param Message $message
* @return MessageMatch
*/
public function setMessage($message)
{
$this->message = $message;
return $this;
}
/**
* @return DateTime
*/
public function getDiscardedAt()
{
return $this->discardedAt;
}
/**
* @return MessageMatch
*/
public function setDiscardedAt()
{
$this->discardedAt = new DateTime();
return $this;
}
/**
* @return DateTime
*/
public function getLastActionAt()
{
return $this->lastActionAt;
}
/**
* @param DateTime $lastActionAt
*/
public function setLastActionAt(DateTime $lastActionAt)
{
$this->lastActionAt = $lastActionAt;
}
/**
* @return DateTime
*/
public function getNotificationAt(): ?DateTime
{
return $this->notificationAt;
}
/**
* @param DateTime $notificationAt
*/
public function setNotificationAt(?DateTime $notificationAt): void
{
$this->notificationAt = $notificationAt;
}
}