members = new \ArrayObject; $this->labels = 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; } /** * @return array */ public function getLabels() { return $this->labels; } /** * @param array $labels * @return Team */ public function setLabels(array $labels): Team { $this->labels = $labels; return $this; } /** * @param Slide $slide * @return Team */ public function addSlide(Slide $slide): Team { if (!$this->slides->contains($slide)) { $this->slides->removeElement($slide); } //$slide->addTeam($this); 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); } //$slide->removeTeam($this); 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 bool */ public function isDailyLockEnabled(): bool { return $this->dailyLockEnabled; } /** * @param bool $dailyLockEnabled * @return Team */ public function setDailyLockEnabled(bool $dailyLockEnabled): Team { $this->dailyLockEnabled = $dailyLockEnabled; return $this; } /** * @return \DateTimeImmutable */ public function getDailyStartTime(): ?\DateTimeImmutable { return $this->dailyStartTime; } /** * @param \DateTimeInterface $dailyStartTime * @return Team */ public function setDailyStartTime(?\DateTimeInterface $dailyStartTime): Team { $this->dailyStartTime = $dailyStartTime; return $this; } /** * @return \DateTimeImmutable */ public function getDailyEndTime(): ?\DateTimeImmutable { return $this->dailyEndTime; } /** * @param \DateTimeInterface $dailyEndTime * @return Team */ public function setDailyEndTime(?\DateTimeInterface $dailyEndTime): Team { $this->dailyEndTime = $dailyEndTime; 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() ?? [], 'labels' => $this->getLabels() ?? [], 'filterId' => $this->getFilterId(), 'dailyLockEnabled' => $this->isDailyLockEnabled(), 'dailyStartTime' => $this->getDailyStartTime() ? $this->getDailyStartTime()->format("H:i") : null, 'dailyEndTime' => $this->getDailyEndTime() ? $this->getDailyEndTime()->format("H:i") : null, '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, ]; } }