src/Entity/OpenPort.php line 23

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use App\Repository\OpenPortRepository;
  4. use Doctrine\ORM\Mapping as ORM;
  5. use App\Traits\DateTimeTrait;
  6. use Overblog\GraphQLBundle\Annotation\Field;
  7. use Doctrine\Common\Collections\Collection;
  8. use App\Attribute\Searchable;
  9. use DateTimeImmutable;
  10. #[ORM\Entity(repositoryClassOpenPortRepository::class)]
  11. #[ORM\HasLifecycleCallbacks]
  12. #[UniqueEntity(
  13.     fields: ['exposed_ip''port'],
  14.     message'This port is already in use on that IP.',
  15.     errorPath'port',
  16. )]
  17. #[ORM\UniqueConstraint(name'unique_exposed_ip_port'columns: ['exposed_ip_id''port'])]
  18. class OpenPort extends BasicEntity
  19. {
  20.     use DateTimeTrait;
  21.     #[ORM\Id]
  22.     #[ORM\GeneratedValue]
  23.     #[ORM\Column(type"integer")]
  24.     #[Field(name"id"type"int")]
  25.     private $id;
  26.     #[ORM\Column(type"integer")]
  27.     #[Field(name"port"type"int")]
  28.     #[Searchable(name'port')]
  29.     private $port;
  30.     #[ORM\ManyToOne(inversedBy'openPorts'targetEntityExposedIp::class, cascade: ['persist''remove'])]
  31.     #[Field(name"exposed_ip"nullablefalse)]
  32.     private $exposedIp;
  33.     #[ORM\Column(type"boolean"options: ['default' => true])]
  34.     #[Field(name"is_active"type"boolean")]
  35.     private $isActive;
  36.     #[ORM\Column(type'datetime_immutable'nullabletrue)]
  37.     #[Field(name"last_seen"type"string")]
  38.     private $lastSeen;
  39.     #[ORM\ManyToOne(targetEntityStatus::class, inversedBy'exposedIps')]
  40.     #[ORM\JoinColumn(nullabletrueoptions: ['default' => 1])]
  41.     #[Field(name"status")]
  42.     private $status;
  43.     public function getId(): ?int
  44.     {
  45.         return $this->id;
  46.     }
  47.     public function getPort(): ?int
  48.     {
  49.         return $this->port;
  50.     }
  51.     public function setPort(int $port): self
  52.     {
  53.         $this->port $port;
  54.         return $this;
  55.     }
  56.     /**
  57.      * @return ExposedIp
  58.      */
  59.     public function getExposedIp(): ExposedIp
  60.     {
  61.         return $this->exposedIp;
  62.     }
  63.     public function setExposedIp(ExposedIp $exposedIp): self
  64.     {
  65.         $this->$exposedIp $exposedIp;
  66.         return $this;
  67.     }
  68.     public function getIsActive(): ?bool
  69.     {
  70.         return $this->isActive;
  71.     }
  72.     public function setIsActive(?bool $isActive): self
  73.     {
  74.         $this->isActive $isActive;
  75.         return $this;
  76.     }
  77.     public function getLastSeen(): ?DateTimeImmutable
  78.     {
  79.         return $this->lastSeen;
  80.     }
  81.     public function setLastSeen(?DateTimeImmutable $lastSeen): self
  82.     {
  83.         $this->lastSeen $lastSeen;
  84.         return $this;
  85.     }
  86.     public function getStatus(): ?Status
  87.     {
  88.         return $this->status;
  89.     }
  90.     public function setStatus(?Status $status): self
  91.     {
  92.         $this->status $status;
  93.         return $this;
  94.     }
  95. }