You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
209 lines
3.8 KiB
209 lines
3.8 KiB
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
/* For licensing terms, see /license.txt */
|
|
|
|
namespace Chamilo\CoreBundle\Entity;
|
|
|
|
use DateTime;
|
|
use Doctrine\ORM\Mapping as ORM;
|
|
use Gedmo\Mapping\Annotation as Gedmo;
|
|
|
|
#[ORM\Table(name: 'notification')]
|
|
#[ORM\Index(name: 'mail_notify_sent_index', columns: ['sent_at'])]
|
|
#[ORM\Index(name: 'mail_notify_freq_index', columns: ['sent_at', 'send_freq', 'created_at'])]
|
|
#[ORM\Entity]
|
|
class Notification
|
|
{
|
|
#[ORM\Column(name: 'id', type: 'bigint')]
|
|
#[ORM\Id]
|
|
#[ORM\GeneratedValue(strategy: 'IDENTITY')]
|
|
protected ?int $id = null;
|
|
|
|
#[ORM\Column(name: 'dest_user_id', type: 'integer', nullable: false)]
|
|
protected int $destUserId;
|
|
|
|
#[ORM\Column(name: 'dest_mail', type: 'string', length: 255, nullable: true)]
|
|
protected ?string $destMail = null;
|
|
|
|
#[ORM\Column(name: 'title', type: 'string', length: 255, nullable: true)]
|
|
protected ?string $title = null;
|
|
|
|
#[ORM\Column(name: 'content', type: 'text', nullable: true)]
|
|
protected ?string $content = null;
|
|
|
|
#[ORM\Column(name: 'send_freq', type: 'smallint', nullable: true)]
|
|
protected ?int $sendFreq = null;
|
|
|
|
#[Gedmo\Timestampable(on: 'create')]
|
|
#[ORM\Column(name: 'created_at', type: 'datetime', nullable: false)]
|
|
protected DateTime $createdAt;
|
|
|
|
#[ORM\Column(name: 'sent_at', type: 'datetime', nullable: true)]
|
|
protected ?DateTime $sentAt = null;
|
|
|
|
/**
|
|
* Set destUserId.
|
|
*
|
|
* @return Notification
|
|
*/
|
|
public function setDestUserId(int $destUserId)
|
|
{
|
|
$this->destUserId = $destUserId;
|
|
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Get destUserId.
|
|
*
|
|
* @return int
|
|
*/
|
|
public function getDestUserId()
|
|
{
|
|
return $this->destUserId;
|
|
}
|
|
|
|
/**
|
|
* Set destMail.
|
|
*
|
|
* @return Notification
|
|
*/
|
|
public function setDestMail(string $destMail)
|
|
{
|
|
$this->destMail = $destMail;
|
|
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Get destMail.
|
|
*
|
|
* @return string
|
|
*/
|
|
public function getDestMail()
|
|
{
|
|
return $this->destMail;
|
|
}
|
|
|
|
/**
|
|
* Set title.
|
|
*
|
|
* @return Notification
|
|
*/
|
|
public function setTitle(string $title)
|
|
{
|
|
$this->title = $title;
|
|
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Get title.
|
|
*
|
|
* @return string
|
|
*/
|
|
public function getTitle()
|
|
{
|
|
return $this->title;
|
|
}
|
|
|
|
/**
|
|
* Set content.
|
|
*
|
|
* @return Notification
|
|
*/
|
|
public function setContent(string $content)
|
|
{
|
|
$this->content = $content;
|
|
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Get content.
|
|
*
|
|
* @return string
|
|
*/
|
|
public function getContent()
|
|
{
|
|
return $this->content;
|
|
}
|
|
|
|
/**
|
|
* Set sendFreq.
|
|
*
|
|
* @return Notification
|
|
*/
|
|
public function setSendFreq(int $sendFreq)
|
|
{
|
|
$this->sendFreq = $sendFreq;
|
|
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Get sendFreq.
|
|
*
|
|
* @return int
|
|
*/
|
|
public function getSendFreq()
|
|
{
|
|
return $this->sendFreq;
|
|
}
|
|
|
|
/**
|
|
* Set createdAt.
|
|
*
|
|
* @return Notification
|
|
*/
|
|
public function setCreatedAt(DateTime $createdAt)
|
|
{
|
|
$this->createdAt = $createdAt;
|
|
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Get createdAt.
|
|
*
|
|
* @return DateTime
|
|
*/
|
|
public function getCreatedAt()
|
|
{
|
|
return $this->createdAt;
|
|
}
|
|
|
|
/**
|
|
* Set sentAt.
|
|
*
|
|
* @return Notification
|
|
*/
|
|
public function setSentAt(DateTime $sentAt)
|
|
{
|
|
$this->sentAt = $sentAt;
|
|
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Get sentAt.
|
|
*
|
|
* @return DateTime
|
|
*/
|
|
public function getSentAt()
|
|
{
|
|
return $this->sentAt;
|
|
}
|
|
|
|
/**
|
|
* Get id.
|
|
*
|
|
* @return int
|
|
*/
|
|
public function getId()
|
|
{
|
|
return $this->id;
|
|
}
|
|
}
|
|
|