|
|
@@ -78,12 +78,23 @@ class Gamemaster
|
|
|
#[ORM\OneToMany(targetEntity: Availability::class, mappedBy: 'gamemaster', orphanRemoval: true)]
|
|
|
private Collection $availabilities;
|
|
|
|
|
|
+ #[ORM\Column(nullable: true)]
|
|
|
+ private ?bool $isAuthor = null;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @var Collection<int, Game>
|
|
|
+ */
|
|
|
+ #[ORM\ManyToMany(targetEntity: Game::class, inversedBy: 'authors')]
|
|
|
+ #[ORM\JoinTable(name: 'author_game')]
|
|
|
+ private Collection $authorOfGames;
|
|
|
+
|
|
|
public function __construct()
|
|
|
{
|
|
|
$this->gamesCanMaster = new ArrayCollection();
|
|
|
$this->eventsAssignedTo = new ArrayCollection();
|
|
|
$this->parties = new ArrayCollection();
|
|
|
$this->availabilities = new ArrayCollection();
|
|
|
+ $this->authorOfGames = new ArrayCollection();
|
|
|
}
|
|
|
|
|
|
public function getId(): ?Uuid
|
|
|
@@ -332,5 +343,41 @@ class Gamemaster
|
|
|
return $this;
|
|
|
}
|
|
|
|
|
|
+ public function isAuthor(): ?bool
|
|
|
+ {
|
|
|
+ return $this->isAuthor;
|
|
|
+ }
|
|
|
+
|
|
|
+ public function setIsAuthor(?bool $isAuthor): static
|
|
|
+ {
|
|
|
+ $this->isAuthor = $isAuthor;
|
|
|
+
|
|
|
+ return $this;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @return Collection<int, Game>
|
|
|
+ */
|
|
|
+ public function getAuthorOfGames(): Collection
|
|
|
+ {
|
|
|
+ return $this->authorOfGames;
|
|
|
+ }
|
|
|
+
|
|
|
+ public function addAuthorOfGame(Game $authorOfGame): static
|
|
|
+ {
|
|
|
+ if (!$this->authorOfGames->contains($authorOfGame)) {
|
|
|
+ $this->authorOfGames->add($authorOfGame);
|
|
|
+ }
|
|
|
+
|
|
|
+ return $this;
|
|
|
+ }
|
|
|
+
|
|
|
+ public function removeAuthorOfGame(Game $authorOfGame): static
|
|
|
+ {
|
|
|
+ $this->authorOfGames->removeElement($authorOfGame);
|
|
|
+
|
|
|
+ return $this;
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
}
|