<?phpnamespace App\Entity;use App\Entity\Enum\SponsorshipStateEnum;use App\Repository\SponsorshipRepository;use Doctrine\ORM\Mapping as ORM;use Gedmo\Mapping\Annotation as Gedmo;/** * @ORM\Entity(repositoryClass=SponsorshipRepository::class) * @ORM\EntityListeners({"App\Listener\SponsorshipListener"}) */class Sponsorship{ /** * @ORM\Id() * @ORM\GeneratedValue() * @ORM\Column(type="integer") */ private $id; /** * @ORM\Column(type="datetime") * @Gedmo\Timestampable(on="create") */ private $created; /** * @ORM\Column(type="string", length=255) */ private $email; /** * @ORM\Column(type="string", length=255) */ private $recipientFirstname; /** * @ORM\Column(type="string", length=255) */ private $recipientLastname; /** * @ORM\Column(type="string", length=255) */ private $senderName; /** * @ORM\ManyToOne(targetEntity=User::class) * @ORM\JoinColumn(nullable=false) */ private $senderUser; /** * @ORM\OneToOne(targetEntity=User::class) */ private $recipientUser; /** * @ORM\Column(type="string", length=5) */ private $state=SponsorshipStateEnum::SENT; /** * @ORM\Column(type="string", length=100, nullable=true, unique=true) */ private $token; public function getId(): ?int { return $this->id; } public function getEmail(): ?string { return $this->email; } public function setEmail(string $email): self { $this->email = $email; return $this; } public function getRecipientFirstname(): ?string { return $this->recipientFirstname; } public function setRecipientFirstname(string $recipientFirstname): self { $this->recipientFirstname = $recipientFirstname; return $this; } public function getRecipientLastname(): ?string { return $this->recipientLastname; } public function setRecipientLastname(string $recipientLastname): self { $this->recipientLastname = $recipientLastname; return $this; } public function getSenderName(): ?string { return $this->senderName; } public function setSenderName(string $senderName): self { $this->senderName = $senderName; return $this; } public function getSenderUser(): ?User { return $this->senderUser; } public function setSenderUser(?User $senderUser): self { $this->senderUser = $senderUser; return $this; } public function getRecipientUser(): ?User { return $this->recipientUser; } public function setRecipientUser(?User $recipientUser): self { $this->recipientUser = $recipientUser; return $this; } public function getState(): ?string { return $this->state; } public function setState(string $state): self { $this->state = $state; return $this; } public function getToken(): ?string { return $this->token; } public function setToken(?string $token): self { $this->token = $token; return $this; } public function generateToken(){ return $this->setToken(md5($this->getEmail().time().'sponsor')); } /** * @return mixed */ public function getCreated() { return $this->created; } /** * @param mixed $created */ public function setCreated($created): void { $this->created = $created; }}