src/Entity/AccessToken.php line 16

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use App\Classes\Hasher;
  4. use DateTime;
  5. use Doctrine\ORM\Mapping as ORM;
  6. /**
  7.  * Label
  8.  *
  9.  * @ORM\Table(name="malys_access_token")
  10.  * @ORM\Entity(repositoryClass="App\Repository\AccessTokenRepository")
  11.  * @ORM\HasLifecycleCallbacks()
  12.  */
  13. class AccessToken
  14. {
  15.     /**
  16.      * @var int
  17.      *
  18.      * @ORM\Column(name="id", type="integer")
  19.      * @ORM\Id
  20.      * @ORM\GeneratedValue(strategy="AUTO")
  21.      */
  22.     private $id;
  23.     /**
  24.      * @ORM\ManyToOne(targetEntity="App\Entity\User")
  25.      * @ORM\JoinColumn(name="user_id", referencedColumnName="id")
  26.      */
  27.     public $user;
  28.     /**
  29.      * @ORM\Column(name="hash", type="string", nullable=false)
  30.      */
  31.     protected $hash;
  32.     /**
  33.      * @var DateTime
  34.      *
  35.      * @ORM\Column(name="createdAt", type="datetime", nullable=false)
  36.      */
  37.     protected $createdAt;
  38.     /**
  39.      * @var DateTime
  40.      *
  41.      * @ORM\Column(name="updatedAt", type="datetime", nullable=true)
  42.      */
  43.     protected $updatedAt;
  44.     /**
  45.      * @var DateTime
  46.      *
  47.      * @ORM\Column(name="accessedAt", type="datetime", nullable=true)
  48.      */
  49.     protected $accessedAt;
  50.     /**
  51.      * @return int
  52.      */
  53.     public function getId(): int
  54.     {
  55.         return $this->id;
  56.     }
  57.     /**
  58.      * @return mixed
  59.      */
  60.     public function getUser()
  61.     {
  62.         return $this->user;
  63.     }
  64.     /**
  65.      * @param mixed $user
  66.      */
  67.     public function setUser($user): void
  68.     {
  69.         $this->user $user;
  70.     }
  71.     /**
  72.      * @return mixed
  73.      */
  74.     public function getHash()
  75.     {
  76.         return $this->hash;
  77.     }
  78.     /**
  79.      * @param mixed $hash
  80.      */
  81.     public function setHash($hash): void
  82.     {
  83.         $this->hash $hash;
  84.     }
  85.     /**
  86.      * @return DateTime
  87.      */
  88.     public function getCreatedAt(): DateTime
  89.     {
  90.         return $this->createdAt;
  91.     }
  92.     /**
  93.      * Set createdAt
  94.      * @ORM\PrePersist
  95.      */
  96.     public function setCreatedAt()
  97.     {
  98.         $this->createdAt = new DateTime();
  99.         $this->updatedAt = new DateTime();
  100.         return $this;
  101.     }
  102.     /**
  103.      * @return DateTime
  104.      */
  105.     public function getUpdatedAt(): DateTime
  106.     {
  107.         return $this->updatedAt;
  108.     }
  109.     /**
  110.      * Set updatedAt
  111.      * @ORM\PreUpdate
  112.      */
  113.     public function setUpdatedAt()
  114.     {
  115.         $this->updatedAt = new DateTime();
  116.         return $this;
  117.     }
  118.     /**
  119.      * @return DateTime
  120.      */
  121.     public function getAccessedAt(): ?DateTime
  122.     {
  123.         return $this->accessedAt;
  124.     }
  125.     /**
  126.      * @param DateTime $accessedAt
  127.      */
  128.     public function setAccessedAt(DateTime $accessedAt): void
  129.     {
  130.         $this->accessedAt $accessedAt;
  131.     }
  132.     /**
  133.      * @ORM\PrePersist
  134.      */
  135.     public function installHash()
  136.     {
  137.         if (is_null($this->hash)) {
  138.             $this->hash Hasher::generateHash(self::class);
  139.         }
  140.     }
  141. }