<?php
namespace App\Entity;
use App\Repository\IdeaBoxRecipientRepository;
use DateTimeInterface;
use Doctrine\ORM\Mapping as ORM;
use JMS\Serializer\Annotation as Serializer;
use JMS\Serializer\Annotation\Expose;
use JMS\Serializer\Annotation\Groups;
/**
* @ORM\Entity(repositoryClass=IdeaBoxRecipientRepository::class)
*
* @Serializer\ExclusionPolicy("ALL")
*/
class IdeaBoxRecipient
{
/**
* @ORM\Id
* @ORM\GeneratedValue
* @ORM\Column(type="integer")
*
* @Expose
* @Groups({
* "idea_box_recipient:id",
* "idea_box_list", "idea_box_stats", "export_idea_box_datatable"
* })
*/
private $id;
/**
* @ORM\ManyToOne(targetEntity=IdeaBox::class, inversedBy="ideaBoxRecipients")
*
* @Expose
* @Groups({
* "idea_box_recipient:idea_box",
* "idea_box_list", "idea_box_stats", "export_idea_box_datatable"
* })
*/
private ?IdeaBox $ideaBox;
/**
* @ORM\ManyToOne(targetEntity=User::class, inversedBy="ideaBoxRecipients")
*
* @Expose
* @Groups({
* "idea_box_recipient:user",
* "idea_box_list", "idea_box_stats", "export_idea_box_datatable"
* })
*/
private ?User $user;
/**
* @ORM\ManyToOne(targetEntity=IdeaBoxRating::class, inversedBy="ideaBoxRecipients")
*
* @Expose
* @Groups({
* "idea_box_recipient:idea_box_rating",
* "idea_box_list", "idea_box_stats", "export_idea_box_datatable"
* })
*/
private ?IdeaBoxRating $ideaBoxRating;
/**
* @ORM\ManyToOne(targetEntity=IdeaBoxQuestion::class, inversedBy="ideaBoxRecipients")
*
* @Expose
* @Groups({
* "idea_box_recipient:idea_box_question",
* "idea_box_list", "idea_box_stats", "export_idea_box_datatable"
* })
*/
private ?IdeaBoxQuestion $ideaBoxQuestion;
/**
* @ORM\ManyToOne(targetEntity=IdeaBoxAnswer::class, inversedBy="ideaBoxRecipients")
*
* @Expose
* @Groups({
* "idea_box_recipient:idea_box_answer",
* "idea_box_list", "idea_box_stats", "export_idea_box_datatable"
* })
*/
private ?IdeaBoxAnswer $ideaBoxAnswer;
/**
* @ORM\Column(type="datetime")
*
* @Expose
* @Groups({
* "idea_box_recipient:send_at",
* "idea_box_list", "idea_box_stats", "export_idea_box_datatable"
* })
*/
private ?DateTimeInterface $sendAt;
public function getId(): ?int
{
return $this->id;
}
public function getIdeaBox(): ?IdeaBox
{
return $this->ideaBox;
}
public function setIdeaBox( ?IdeaBox $ideaBox ): IdeaBoxRecipient
{
$this->ideaBox = $ideaBox;
return $this;
}
public function getUser(): ?User
{
return $this->user;
}
public function setUser( ?User $user ): IdeaBoxRecipient
{
$this->user = $user;
return $this;
}
public function getIdeaBoxRating(): ?IdeaBoxRating
{
return $this->ideaBoxRating;
}
public function setIdeaBoxRating( ?IdeaBoxRating $IdeaBoxRating ): IdeaBoxRecipient
{
$this->ideaBoxRating = $IdeaBoxRating;
return $this;
}
public function getIdeaBoxQuestion(): ?IdeaBoxQuestion
{
return $this->ideaBoxQuestion;
}
public function setIdeaBoxQuestion( ?IdeaBoxQuestion $IdeaBoxQuestion ): IdeaBoxRecipient
{
$this->ideaBoxQuestion = $IdeaBoxQuestion;
return $this;
}
public function getIdeaBoxAnswer(): ?IdeaBoxAnswer
{
return $this->ideaBoxAnswer;
}
public function setIdeaBoxAnswer( ?IdeaBoxAnswer $ideaBoxAnswer ): IdeaBoxRecipient
{
$this->ideaBoxAnswer = $ideaBoxAnswer;
return $this;
}
public function getSendAt(): ?DateTimeInterface
{
return $this->sendAt;
}
public function setSendAt( DateTimeInterface $sendAt ): IdeaBoxRecipient
{
$this->sendAt = $sendAt;
return $this;
}
}