<?phpnamespace App\Entity\Gos;use App\Repository\Gos\UserFlagRepository;use Doctrine\Common\Collections\ArrayCollection;use Doctrine\Common\Collections\Collection;use Doctrine\ORM\Mapping as ORM;/** * @ORM\Entity(repositoryClass=UserFlagRepository::class) * @ORM\HasLifecycleCallbacks */class UserFlag{ /** * @ORM\Id * @ORM\GeneratedValue * @ORM\Column(type="integer") */ private $id; /** * @ORM\Column(type="boolean", options={"default": 1}) */ private $isActive = true; /** * @ORM\Column(type="string", length=255) */ private $pennant; /** * @ORM\Column(type="string", length=255) */ private $name; /** * @ORM\ManyToMany(targetEntity=ProductVariant::class, inversedBy="userFlags") */ private $productVariants; /** * @ORM\Column(type="datetime") */ private $createdAt; /** * @ORM\Column(type="datetime", nullable=true) */ private $updatedAt; /** * @ORM\OneToMany(targetEntity=AssignedUserFlag::class, mappedBy="flag", orphanRemoval=true) */ private $assignedFlags; public function __construct() { $this->productVariants = new ArrayCollection(); $this->assignedFlags = new ArrayCollection(); } /** @ORM\PrePersist() */ public function onPrePersist() { $this->createdAt = new \DateTime(); } public function getId(): ?int { return $this->id; } public function isActive(): ?bool { return $this->isActive; } public function setIsActive(bool $isActive): self { $this->isActive = $isActive; return $this; } public function getPennant(): ?string { return $this->pennant; } public function setPennant(string $pennant): self { $this->pennant = $pennant; return $this; } public function getName(): ?string { return $this->name; } public function setName(string $name): self { $this->name = $name; return $this; } /** * @return Collection|ProductVariant[] */ public function getProductVariants(): Collection { return $this->productVariants; } public function addProductVariant(ProductVariant $productVariant): self { if (!$this->productVariants->contains($productVariant)) { $this->productVariants[] = $productVariant; } return $this; } public function removeProductVariant(ProductVariant $productVariant): self { if ($this->productVariants->contains($productVariant)) { $this->productVariants->removeElement($productVariant); } return $this; } /** * @return Collection|AssignedUserFlag[] */ public function getAssignedFlags(): Collection { return $this->assignedFlags; } public function addAssignedFlag(AssignedUserFlag $assignedFlag): self { if (!$this->assignedFlags->contains($assignedFlag)) { $this->assignedFlags[] = $assignedFlag; $assignedFlag->setFlag($this); } return $this; } public function removeAssignedFlag(AssignedUserFlag $assignedFlag): self { if ($this->assignedFlags->contains($assignedFlag)) { $this->assignedFlags->removeElement($assignedFlag); // set the owning side to null (unless already changed) if ($assignedFlag->getFlag() === $this) { $assignedFlag->setFlag(null); } } return $this; } /** * @return mixed */ public function getCreatedAt(): ?\DateTimeInterface { return $this->createdAt; } /** * @param mixed $createdAt */ public function setCreatedAt($createdAt): self { $this->createdAt = $createdAt; return $this; } /** * @return mixed */ public function getUpdatedAt(): ?\DateTimeInterface { return $this->updatedAt; } /** * @param mixed $updatedAt */ public function setUpdatedAt($updatedAt): self { $this->updatedAt = $updatedAt; return $this; }}