src/Core/Entity/FeatureFlag.php line 18

Open in your IDE?
  1. <?php
  2. namespace App\Core\Entity;
  3. use App\Core\FeatureFlag\FeatureFlagEnum;
  4. use Doctrine\ORM\Mapping as ORM;
  5. use Gedmo\Timestampable\Traits\TimestampableEntity;
  6. use Gedmo\Mapping\Annotation as Gedmo;
  7. use Gedmo\SoftDeleteable\Traits\SoftDeleteableEntity;
  8. use Symfony\Component\Serializer\Annotation\Groups;
  9. /**
  10.  * @ORM\Entity(repositoryClass="App\Core\FeatureFlag\FeatureFlagRepository")
  11.  * @ORM\Table(name="feature_flag")
  12.  *
  13.  * @Gedmo\SoftDeleteable(fieldName="deletedAt", timeAware=false)
  14.  */
  15. class FeatureFlag
  16. {
  17.     use TimestampableEntity,
  18.         SoftDeleteableEntity
  19.     ;
  20.     /**
  21.      * @var int
  22.      *
  23.      * @ORM\Column(name="id", type="integer")
  24.      * @ORM\Id
  25.      * @ORM\GeneratedValue(strategy="AUTO")
  26.      */
  27.     public $id;
  28.     /**
  29.      * @var string
  30.      *
  31.      * @ORM\Column(name="name", type="string")
  32.      * @Groups("bo:feature_flag")
  33.      */
  34.     public $name;
  35.     /**
  36.      * @var bool
  37.      *
  38.      * @ORM\Column(name="value", type="boolean")
  39.      * @Groups("bo:feature_flag")
  40.      */
  41.     public $enabled;
  42.     public function __construct(string $namebool $enabled true)
  43.     {
  44.         $this->name $name;
  45.         $this->enabled $enabled;
  46.     }
  47.     /**
  48.      * @return int
  49.      */
  50.     public function getId(): int
  51.     {
  52.         return $this->id;
  53.     }
  54.     /**
  55.      * @return string
  56.      */
  57.     public function getName(): string
  58.     {
  59.         return $this->name;
  60.     }
  61.     /**
  62.      * @return bool
  63.      */
  64.     public function isEnabled(): bool
  65.     {
  66.         return $this->enabled;
  67.     }
  68.     /**
  69.      * @Groups("bo:feature_flag")
  70.      */
  71.     public function isUsedInCode(): bool
  72.     {
  73.         return \in_array($this->nameFeatureFlagEnum::getAll(), true);
  74.     }
  75. }