src/MobileAppApi/Entity/ApiKey.php line 21

Open in your IDE?
  1. <?php
  2. namespace MobileAppApi\Entity;
  3. use App\Entity\User;
  4. use App\Utility\DateTimeUtility;
  5. use DateTime;
  6. use Doctrine\ORM\Mapping as ORM;
  7. /**
  8. * @ORM\Entity
  9. *
  10. * @ORM\Table(
  11. * name="mobile_app_api_keys",
  12. * indexes={
  13. *
  14. * @ORM\Index(name="users_id", columns={"users_id"})
  15. * }
  16. * )
  17. */
  18. class ApiKey
  19. {
  20. public function __construct()
  21. {
  22. $this->createdAt = DateTimeUtility::createDateTimeUtc();
  23. $this->numberOfIssues = 0;
  24. $this->numberOfVerifications = 0;
  25. }
  26. /**
  27. * @var string
  28. *
  29. * @ORM\GeneratedValue(strategy="CUSTOM")
  30. *
  31. * @ORM\CustomIdGenerator(class="App\Utility\DatabaseIdGenerator")
  32. *
  33. * @ORM\Column(name="id", type="guid")
  34. *
  35. * @ORM\Id
  36. */
  37. private $id;
  38. public function getId(): string
  39. {
  40. return $this->id;
  41. }
  42. /**
  43. * @var User
  44. *
  45. * @ORM\ManyToOne(targetEntity="App\Entity\User", inversedBy="mobileAppApiKeys")
  46. *
  47. * @ORM\JoinColumn(name="users_id", onDelete="CASCADE", nullable=false)
  48. */
  49. protected $user;
  50. public function setUser(User $user): void
  51. {
  52. $this->user = $user;
  53. }
  54. public function getUser(): User
  55. {
  56. return $this->user;
  57. }
  58. /**
  59. * @var DateTime
  60. *
  61. * @ORM\Column(name="created_at", type="datetime", nullable=false)
  62. */
  63. protected $createdAt;
  64. public function setCreatedAt(DateTime $createdAt): void
  65. {
  66. $this->createdAt = $createdAt;
  67. }
  68. public function getCreatedAt(): DateTime
  69. {
  70. return $this->createdAt;
  71. }
  72. /**
  73. * @var DateTime
  74. *
  75. * @ORM\Column(name="last_issued_at", type="datetime", nullable=true)
  76. */
  77. protected $lastIssuedAt;
  78. public function setLastIssuedAt(DateTime $lastIssuedAt): void
  79. {
  80. $this->lastIssuedAt = $lastIssuedAt;
  81. }
  82. public function getLastIssuedAt(): DateTime
  83. {
  84. return $this->lastIssuedAt;
  85. }
  86. /**
  87. * @var DateTime
  88. *
  89. * @ORM\Column(name="last_verified_at", type="datetime", nullable=true)
  90. */
  91. protected $lastVerifiedAt;
  92. public function setLastVerifiedAt(DateTime $lastVerifiedAt): void
  93. {
  94. $this->lastVerifiedAt = $lastVerifiedAt;
  95. }
  96. public function getLastVerifiedAt(): DateTime
  97. {
  98. return $this->lastVerifiedAt;
  99. }
  100. /**
  101. * @var int
  102. *
  103. * @ORM\Column(name="number_of_issues", type="integer", nullable=false)
  104. */
  105. protected $numberOfIssues;
  106. public function setNumberOfIssues(int $numberOfIssues): void
  107. {
  108. $this->numberOfIssues = $numberOfIssues;
  109. }
  110. public function getNumberOfIssues(): int
  111. {
  112. return $this->numberOfIssues;
  113. }
  114. /**
  115. * @var int
  116. *
  117. * @ORM\Column(name="number_of_verifications", type="integer", nullable=false)
  118. */
  119. protected $numberOfVerifications;
  120. public function setNumberOfVerifications(int $numberOfVerifications): void
  121. {
  122. $this->numberOfVerifications = $numberOfVerifications;
  123. }
  124. public function getNumberOfVerifications(): int
  125. {
  126. return $this->numberOfVerifications;
  127. }
  128. }