src/Entity/SocialNetwork.php line 12

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use App\Repository\SocialNetworkRepository;
  4. use Doctrine\ORM\Mapping as ORM;
  5. use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
  6. use Symfony\Component\Validator\Constraints as Assert;
  7. #[ORM\Entity(repositoryClassSocialNetworkRepository::class)]
  8. #[UniqueEntity(['name'])]
  9. class SocialNetwork
  10. {
  11.     public const FACEBOOK 'Facebook';
  12.     public const TWITTER 'X';
  13.     public const YOUTUBE 'Youtube';
  14.     public const INSTAGRAM 'Instagram';
  15.     public const LINKEDIN "LinkedIn";
  16.     public const WHATSAPP "Whatsapp";
  17.     public const PINTEREST "Pinterest";
  18.     public const TIKTOK "Tiktok";
  19.     #[ORM\Id]
  20.     #[ORM\GeneratedValue]
  21.     #[ORM\Column]
  22.     private ?int $id null;
  23.     #[ORM\Column(length255)]
  24.     #[Assert\NotBlank]
  25.     private ?string $name null;
  26.     #[ORM\Column(length255)]
  27.     #[Assert\NotBlank]
  28.     #[Assert\Url]
  29.     private ?string $url null;
  30.     #[ORM\Column(length64nullabletrue)]
  31.     private ?string $icon null;
  32.     #[ORM\Column(nullabletrue)]
  33.     private ?bool $active null;
  34.     #[ORM\Column(nullabletrue)]
  35.     private ?int $clicksCount null;
  36.     #[ORM\Column(length255nullabletrue)]
  37.     private ?string $pageId null;
  38.     public function getId(): ?int
  39.     {
  40.         return $this->id;
  41.     }
  42.     public function getName(): ?string
  43.     {
  44.         return $this->name;
  45.     }
  46.     public function setName(string $name): static
  47.     {
  48.         $this->name $name;
  49.         return $this;
  50.     }
  51.     public function getUrl(): ?string
  52.     {
  53.         return $this->url;
  54.     }
  55.     public function setUrl(string $url): static
  56.     {
  57.         $this->url $url;
  58.         return $this;
  59.     }
  60.     public function getIcon(): ?string
  61.     {
  62.         return $this->icon;
  63.     }
  64.     public function setIcon(?string $icon): static
  65.     {
  66.         $this->icon $icon;
  67.         return $this;
  68.     }
  69.     public function isActive(): ?bool
  70.     {
  71.         return $this->active;
  72.     }
  73.     public function setActive(?bool $active): static
  74.     {
  75.         $this->active $active;
  76.         return $this;
  77.     }
  78.     public function getClicksCount(): ?int
  79.     {
  80.         return $this->clicksCount;
  81.     }
  82.     public function setClicksCount(?int $clicksCount): static
  83.     {
  84.         $this->clicksCount $clicksCount;
  85.         return $this;
  86.     }
  87.     public function __toString(): string
  88.     {
  89.         return $this->getName();
  90.     }
  91.     public function getPageId(): ?string
  92.     {
  93.         return $this->pageId;
  94.     }
  95.     public function setPageId(?string $pageId): static
  96.     {
  97.         $this->pageId $pageId;
  98.         return $this;
  99.     }
  100.     public static function getSocialMedia() : array {
  101.         return [
  102.             self::FACEBOOK => self::FACEBOOK,
  103.             self::INSTAGRAM => self::INSTAGRAM,
  104.             self::LINKEDIN => self::LINKEDIN,
  105.             self::TWITTER => self::TWITTER,
  106.             self::PINTEREST => self::PINTEREST,
  107.             self::YOUTUBE => self::YOUTUBE,
  108.             self::WHATSAPP => self::WHATSAPP,
  109.             self::TIKTOK => self::TIKTOK,
  110.         ];
  111.     }
  112. }