<?php
namespace App\Entity\Accounts;
use Doctrine\DBAL\Types\Types;
use Doctrine\ORM\Mapping as ORM;
/**
* Usertokens
* @ORM\Entity(repositoryClass="App\Repository\Accounts\UserTokensRepository")
* @ORM\Table(name="otp_accounts.userTokens", indexes={
* @ORM\Index(name="user_id", columns={"user_id"}),
* @ORM\Index(name="token", columns={"token"})
* })
*/
class UserTokens
{
/**
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
* @ORM\Column(type="integer", options={"unsigned"=true})
*/
private int $id;
/**
* @ORM\Column(type="integer", options={"unsigned"=true})
*/
private int $user_id;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\Accounts\Users", inversedBy="tokens")
* @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;
}
/**
* @ORM\Column(type="string", length=40, nullable=true)
*/
private string $user_agent;
/**
* @ORM\Column(type="integer", options={"unsigned"=true}, nullable=true)
*/
private int $ip;
/**
* @ORM\Column(type="string", length=255)
*/
private string $token;
/**
* @ORM\Column(type="string", length=100, nullable=true)
*/
private string $type='';
/**
* @ORM\Column(type="integer", options={"unsigned"=true})
*/
private int $created;
/**
* @ORM\Column(type="integer", nullable=true, options={"unsigned"=true})
*/
private int $expires;
// Геттери та сеттери:
public function getId(): int
{
return $this->id;
}
public function getUserId(): int
{
return $this->user_id;
}
public function setUserId(int $user_id): static
{
$this->user_id = $user_id;
return $this;
}
public function getUserAgent(): string
{
return $this->user_agent;
}
public function setUserAgent(string $user_agent): static
{
$this->user_agent = $user_agent;
return $this;
}
public function getIp(): string
{
if (is_numeric($this->ip)) return long2ip($this->ip);
return $this->ip;
}
public function setIp(string $ip): static
{
if (is_numeric($ip)) $this->ip = $ip;
else $this->ip = ip2long($ip);
return $this;
}
public function getToken(): string
{
return $this->token;
}
public function setToken(string $token): static
{
$this->token = $token;
return $this;
}
public function getType(): string
{
return $this->type;
}
public function setType(string $type): static
{
$this->type = $type;
return $this;
}
public function getCreated(): int
{
return $this->created;
}
public function setCreated(int $created): static
{
$this->created = $created;
return $this;
}
public function setDate(\DateTimeInterface $date): static
{
$this->created = $date->getTimestamp();
return $this;
}
public function getExpires(): int
{
return $this->expires;
}
public function setExpires(int $expires): static
{
$this->expires = $expires;
return $this;
}
}