<?php
namespace App\Entity\Accounts;
use App\Repository\Accounts\UserRecoveryRepository;
use Doctrine\DBAL\Types\Types;
use Doctrine\ORM\Mapping as ORM;
/**
* UserRecovery
*
* @ORM\Entity(repositoryClass="App\Repository\Accounts\UserRecoveryRepository")
* @ORM\Table(name="otp_accounts.userRecovery", indexes={@ORM\Index(name="user_id", columns={"user_id", "date", "hash"}), @ORM\Index(name="ip", columns={"ip", "user_id"}), @ORM\Index(name="date", columns={"date"})})
*/
class UserRecovery
{
/**
* @var int
*
* @ORM\Column(name="id", type="integer", nullable=false, options={"unsigned"=true})
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $id;
/**
* @var int
*
* @ORM\Column(name="user_id", type="integer", nullable=false, options={"unsigned"=true})
*/
private $userId;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\Accounts\Users", inversedBy="recoveries")
* @ORM\JoinColumn(name="user_id", referencedColumnName="rec_id", nullable=false, onDelete="CASCADE")
*/
private $user;
public function getUser(): ?Users
{
return $this->user;
}
public function setUser(Users $user): static
{
$this->user = $user;
return $this;
}
/**
* @var string
*
* @ORM\Column(name="hash", type="string", length=255, nullable=false, options={"fixed"=true})
*/
private $hash;
/**
* @var int
*
* @ORM\Column(name="ip", type="bigint", nullable=false)
*/
private $ip;
/**
* @var string
*
* @ORM\Column(name="userAgent", type="string", length=255, nullable=false, options={"fixed"=true,"comment"="полная строка браузера"})
*/
private $useragent;
/**
* @var \DateTime
*
* @ORM\Column(name="date", type="datetime", nullable=false, options={"default"="CURRENT_TIMESTAMP"})
*/
private $date = 'CURRENT_TIMESTAMP';
/**
* @var \DateTime|null
*
* @ORM\Column(name="used", type="datetime", nullable=true)
*/
private $used;
public function getId(): ?int
{
return $this->id;
}
public function getUserId(): ?int
{
return $this->userId;
}
public function setUserId(int $userId): static
{
$this->userId = $userId;
return $this;
}
public function getHash(): ?string
{
return $this->hash;
}
public function setHash(string $hash): static
{
$this->hash = $hash;
return $this;
}
public function getIp(): ?string
{
return $this->ip;
}
public function setIp(string $ip): static
{
$this->ip = $ip;
return $this;
}
public function getUseragent(): ?string
{
return $this->useragent;
}
public function setUseragent(string $useragent): static
{
$this->useragent = $useragent;
return $this;
}
public function getDate(): ?\DateTimeInterface
{
return $this->date;
}
public function setDate(\DateTimeInterface $date): static
{
$this->date = $date;
return $this;
}
public function getUsed(): ?\DateTimeInterface
{
return $this->used;
}
public function setUsed(?\DateTimeInterface $used): static
{
$this->used = $used;
return $this;
}
}