<?php
namespace App\Entity;
use SymfonyCasts\Bundle\ResetPassword\Model\ResetPasswordRequestInterface;
use App\Repository\ResetPasswordRequestRepository;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity(repositoryClass=ResetPasswordRequestRepository::class)
*/
class ResetPasswordRequest implements ResetPasswordRequestInterface
{
/**
* @ORM\Id
* @ORM\GeneratedValue
* @ORM\Column(type="integer")
*/
private ?int $id = null;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\User")
* @ORM\JoinColumn(nullable=false)
*/
private ?User $user = null;
/**
* @ORM\Column(type="datetime")
*/
private $expiresAt = null;
/**
* @ORM\Column(type="datetime")
*/
private $requestedAt = null;
/**
* @ORM\Column(type="string", length=20)
*/
private ?string $selector = null;
/**
* @ORM\Column(type="string", length=255)
*/
private ?string $hashedToken = null;
public function getId(): ?int
{
return $this->id;
}
public function getUser(): object
{
return $this->user;
}
public function setUser(?User $user): self
{
$this->user = $user;
return $this;
}
public function getExpiresAt(): \DateTimeInterface
{
return $this->expiresAt;
}
public function setExpiresAt(?\DateTimeInterface $expiresAt): self
{
$this->expiresAt = $expiresAt;
return $this;
}
public function getRequestedAt(): \DateTimeInterface
{
return $this->requestedAt;
}
public function setRequestedAt(?\DateTimeInterface $requestedAt): self
{
$this->requestedAt = $requestedAt;
return $this;
}
public function getSelector(): ?string
{
return $this->selector;
}
public function setSelector(string $selector): self
{
$this->selector = $selector;
return $this;
}
public function getHashedToken(): string
{
return $this->hashedToken;
}
public function setHashedToken(string $hashedToken): self
{
$this->hashedToken = $hashedToken;
return $this;
}
public function isExpired(): bool
{
return $this->expiresAt < new \DateTime();
}
}