src/Entity/ResetPasswordEntry.php line 16

  1. <?php
  2. namespace App\Entity;
  3. use Doctrine\ORM\Mapping as ORM,
  4.     Doctrine\DBAL\Types\Types;
  5. use ApiPlatform\Metadata\ApiProperty;
  6. use App\Entity\Trait\IdTrait,
  7.     App\Entity\Trait\UuidTrait,
  8.     App\Entity\Trait\TimestampableTrait;
  9. use App\Enum\ResetPasswordRequestType;
  10. #[ORM\Entity(repositoryClassResetPasswordEntryRepository::class)]
  11. class ResetPasswordEntry
  12. {
  13.     use IdTrait,
  14.         UuidTrait,
  15.         TimestampableTrait;
  16.     #[ApiProperty(description'Origin ip')]
  17.     #[ORM\Column(typeTypes::STRINGlength255)]
  18.     private string $ip;
  19.     #[ApiProperty(description'Request type')]
  20.     #[ORM\Column(
  21.         typeTypes::STRING,
  22.         enumTypeResetPasswordRequestType::class,
  23.         length255,
  24.         options: ['default' => ResetPasswordRequestType::LINK]
  25.     )]
  26.     private ResetPasswordRequestType $type ResetPasswordRequestType::LINK;
  27.     #[ApiProperty(description'Result')]
  28.     #[ORM\Column(typeTypes::BOOLEANoptions: ['default' => false])]
  29.     private bool $result false;
  30.     #[ApiProperty(description'Class name')]
  31.     #[ORM\Column(typeTypes::STRINGlength255)]
  32.     private string $className Admin::class;
  33.     public function __construct(
  34.         string $ip,
  35.         ResetPasswordRequestType $type,
  36.         bool $result,
  37.         string $className
  38.     ) {
  39.         $this->setUuid();
  40.         $this->ip $ip;
  41.         $this->type $type;
  42.         $this->result $result;
  43.         $this->className $className;
  44.         $this->createdAt = new \DateTimeImmutable();
  45.         $this->updatedAt = new \DateTimeImmutable();
  46.     }
  47.     public function getIp(): string
  48.     {
  49.         return $this->ip;
  50.     }
  51.     public function getType(): ResetPasswordRequestType
  52.     {
  53.         return $this->type;
  54.     }
  55.     public function getResult(): bool
  56.     {
  57.         return $this->result;
  58.     }
  59.     public function getClassName(): string
  60.     {
  61.         return $this->className;
  62.     }
  63. }