members = new \ArrayObject; $this->slides = new ArrayCollection; $this->backlogColumn = new KanbanColumn(); $this->inprogressColumn = new KanbanColumn(); $this->verificationColumn = new KanbanColumn(); $this->doneColumn = new KanbanColumn(); } /** * @return int */ public function getId(): ?int { return $this->id; } /** * @param int $id * @return Team */ public function setId(?int $id): Team { $this->id = $id; return $this; } /** * @return string */ public function getName(): ?string { return $this->name; } /** * @param string $name * @return Team */ public function setName(string $name): Team { $this->name = $name; return $this; } /** * @return array */ public function getMembers() { return $this->members; } /** * @param array $members * @return Team */ public function setMembers(array $members): Team { $this->members = $members; return $this; } /** * @param Slide $slide * @return Team */ public function addSlides(Slide $slide): Team { if (!$this->slides->contains($slide)) { $this->slides->removeElement($slide); } return $this; } /** * @return Slide[]|Collection */ public function getSlides(): ?Collection { return $this->slides; } /** * @param Slide $slide * @return Team */ public function removeSlide(Slide $slide): Team { if ($this->slides->contains($slide)) { $this->slides->removeElement($slide); } return $this; } /** * @return int */ public function getFilterId(): ?int { return $this->filterId; } /** * @param int $filterId * @return Team */ public function setFilterId(?int $filterId): Team { $this->filterId = $filterId; return $this; } /** * @return array|KanbanColumn */ public function getBacklogColumn() { return $this->backlogColumn; } /** * @param array $backlogColumn * @return Team */ public function setBacklogColumn(?array $backlogColumn): Team { $this->backlogColumn = $backlogColumn; return $this; } /** * @return array|KanbanColumn */ public function getInprogressColumn() { return $this->inprogressColumn; } /** * @param array $inprogressColumn * @return Team */ public function setInprogressColumn(array $inprogressColumn): Team { $this->inprogressColumn = $inprogressColumn; return $this; } /** * @return array|KanbanColumn */ public function getVerificationColumn() { return $this->verificationColumn; } /** * @param array $verificationColumn * @return Team */ public function setVerificationColumn(?array $verificationColumn): Team { $this->verificationColumn = $verificationColumn; return $this; } /** * @return array|KanbanColumn */ public function getDoneColumn() { return $this->doneColumn; } /** * @param array $doneColumn * @return Team */ public function setDoneColumn(?array $doneColumn): Team { $this->doneColumn = $doneColumn; return $this; } /** * @return bool */ public function isActive(): ?bool { return $this->isActive; } /** * @param bool $isActive * @return Team */ public function setIsActive(bool $isActive): Team { $this->isActive = $isActive; return $this; } /** * @return \DateTimeImmutable */ public function getCreatedAt(): ?\DateTimeImmutable { return $this->createdAt; } /** * @param \DateTimeImmutable $createdAt * @return Team */ public function setCreatedAt(\DateTimeImmutable $createdAt): Team { $this->createdAt = $createdAt; return $this; } /** * @return \DateTimeImmutable */ public function getUpdatedAt(): ?\DateTimeImmutable { return $this->updatedAt; } /** * @param \DateTimeImmutable $updatedAt * @return Team */ public function setUpdatedAt(\DateTimeImmutable $updatedAt): Team { $this->updatedAt = $updatedAt; return $this; } /** * @return array */ public function jsonSerialize() { return [ 'id' => $this->getId(), 'name' => $this->getName(), 'members' => $this->getMembers(), 'filterId' => $this->getFilterId(), 'backlogColumn' => $this->getBacklogColumn() ?? new KanbanColumn(), 'inprogressColumn' => $this->getInprogressColumn() ?? new KanbanColumn(), 'verificationColumn' => $this->getVerificationColumn() ?? new KanbanColumn(), 'doneColumn' => $this->getDoneColumn() ?? new KanbanColumn(), 'isActive' => $this->isActive(), 'createdAt' => $this->getCreatedAt() ? $this->getCreatedAt()->format("Y-m-d H:i:s") : null, 'updatedAt' => $this->getUpdatedAt() ? $this->getUpdatedAt()->format("Y-m-d H:i:s") : null, ]; } }