<?php
namespace App\Entity;
use App\Utility\DateTimeUtility;
use DateTime;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity
*
* @ORM\Table(
* name="direct_login_auth_keys",
* indexes={
*
* @ORM\Index(name="users_id", columns={"users_id"})
* }
* )
*/
class DirectLoginAuthKey
{
public function __construct()
{
$this->createdAt = DateTimeUtility::createDateTimeUtc();
$this->numberOfIssues = 0;
$this->numberOfVerifications = 0;
}
/**
* @var string
*
* @ORM\GeneratedValue(strategy="CUSTOM")
*
* @ORM\CustomIdGenerator(class="App\Utility\DatabaseIdGenerator")
*
* @ORM\Column(name="id", type="guid")
*
* @ORM\Id
*/
private $id;
public function getId(): string
{
return $this->id;
}
/**
* @var User
*
* @ORM\ManyToOne(targetEntity="App\Entity\User", inversedBy="directLoginAuthKeys")
*
* @ORM\JoinColumn(name="users_id", onDelete="CASCADE", nullable=false)
*/
protected $user;
public function setUser(User $user): void
{
$this->user = $user;
}
public function getUser(): User
{
return $this->user;
}
/**
* @var DateTime
*
* @ORM\Column(name="created_at", type="datetime", nullable=false)
*/
protected $createdAt;
public function setCreatedAt(DateTime $createdAt): void
{
$this->createdAt = $createdAt;
}
public function getCreatedAt(): DateTime
{
return $this->createdAt;
}
/**
* @var DateTime
*
* @ORM\Column(name="last_issued_at", type="datetime", nullable=true)
*/
protected $lastIssuedAt;
public function setLastIssuedAt(DateTime $lastIssuedAt): void
{
$this->lastIssuedAt = $lastIssuedAt;
}
public function getLastIssuedAt(): DateTime
{
return $this->lastIssuedAt;
}
/**
* @var DateTime
*
* @ORM\Column(name="last_verified_at", type="datetime", nullable=true)
*/
protected $lastVerifiedAt;
public function setLastVerifiedAt(DateTime $lastVerifiedAt): void
{
$this->lastVerifiedAt = $lastVerifiedAt;
}
public function getLastVerifiedAt(): DateTime
{
return $this->lastVerifiedAt;
}
/**
* @var int
*
* @ORM\Column(name="number_of_issues", type="integer", nullable=false)
*/
protected $numberOfIssues;
public function setNumberOfIssues(int $numberOfIssues): void
{
$this->numberOfIssues = $numberOfIssues;
}
public function getNumberOfIssues(): int
{
return $this->numberOfIssues;
}
/**
* @var int
*
* @ORM\Column(name="number_of_verifications", type="integer", nullable=false)
*/
protected $numberOfVerifications;
public function setNumberOfVerifications(int $numberOfVerifications): void
{
$this->numberOfVerifications = $numberOfVerifications;
}
public function getNumberOfVerifications(): int
{
return $this->numberOfVerifications;
}
}