src/Entity/Recommendation.php line 19

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use App\Repository\RecommendationRepository;
  4. use Doctrine\DBAL\Types\Types;
  5. use Doctrine\ORM\Mapping as ORM;
  6. use Overblog\GraphQLBundle\Annotation\Field;
  7. #[ORM\Entity(repositoryClassRecommendationRepository::class)]
  8. #[ORM\InheritanceType('SINGLE_TABLE')]
  9. #[ORM\DiscriminatorColumn(name'discr'type'string')]
  10. #[ORM\DiscriminatorMap([
  11.     'generic' => GenericRecommendation::class,
  12.     'specific' => SpecificRecommendation::class,
  13.     'port' => PortRecommendation::class,
  14.     'leaked_password' => LeakedPasswordRecommendation::class,
  15. ])]
  16. class Recommendation extends BasicEntity
  17. {
  18.     #[ORM\Id]
  19.     #[ORM\GeneratedValue]
  20.     #[ORM\Column] #[Field(name"id"type"int")]
  21.     protected ?int $id null;
  22.     #[ORM\Column(typeTypes::TEXT)]
  23.     #[Field(name"title"type"string")]
  24.     protected ?string $title null;
  25.     #[ORM\Column]
  26.     #[Field(name"is_implemented"type"boolean")]
  27.     protected bool $isImplemented false;
  28.     #[ORM\ManyToOne(inversedBy'recommendations')]
  29.     #[ORM\JoinColumn(nullabletrue)]
  30.     #[Field(name"domain")]
  31.     protected ?Domain $domain null;
  32.     #[ORM\Column(typeTypes::TEXTnullabletrue)]
  33.     #[Field(name"subdomain"type'string')]
  34.     protected ?string $subdomain null;
  35.     #[ORM\ManyToOne(targetEntityVulnerability::class, inversedBy'recommendation'cascade: ["remove"])]
  36.     #[ORM\JoinColumn(nullabletrueonDelete:'CASCADE')]
  37.     #[Field(name"vulnerability")]
  38.     protected ?Vulnerability $vulnerability;
  39.     public function getId(): ?int
  40.     {
  41.         return $this->id;
  42.     }
  43.     public function getTitle(): ?string
  44.     {
  45.         return $this->title;
  46.     }
  47.     public function setTitle(string $title): static
  48.     {
  49.         $this->title $title;
  50.         return $this;
  51.     }
  52.     public function isImplemented(): bool
  53.     {
  54.         return $this->isImplemented;
  55.     }
  56.     public function setIsImplemented(bool $isImplemented): static
  57.     {
  58.         $this->isImplemented $isImplemented;
  59.         return $this;
  60.     }
  61.     public function getDomain(): ?Domain
  62.     {
  63.         return $this->domain;
  64.     }
  65.     public function setDomain(?Domain $domain): static
  66.     {
  67.         $this->domain $domain;
  68.         return $this;
  69.     }
  70.     public function getSubdomain(): ?string
  71.     {
  72.         return $this->subdomain;
  73.     }
  74.     public function setSubdomain(?string $subdomain): static
  75.     {
  76.         $this->subdomain $subdomain;
  77.         return $this;
  78.     }
  79.     public function getVulnerability(): ?Vulnerability
  80.     {
  81.         return $this->vulnerability;
  82.     }
  83.     public function setVulnerability(?Vulnerability $vulnerability): static
  84.     {
  85.         $this->vulnerability $vulnerability;
  86.         return $this;
  87.     }
  88. }