children = new ArrayCollection(); } public function getId(): ?int { return $this->id; } public function getUser(): ?User { return $this->user; } public function setUser(?User $user): static { $this->user = $user; return $this; } public function getTitle(): ?string { return $this->title; } public function setTitle(?string $title): static { $this->title = $title; return $this; } public function getImdbId(): ?string { return $this->imdbId; } public function setImdbId(string $imdbId): static { $this->imdbId = $imdbId; return $this; } public function getTmdbId(): ?string { return $this->tmdbId; } public function setTmdbId(string $tmdbId): static { $this->tmdbId = $tmdbId; return $this; } public function getStatus(): ?string { return $this->status; } public function setStatus(string $status): static { $this->status = $status; return $this; } public function getSearchCount(): ?int { return $this->searchCount; } public function setSearchCount(?int $searchCount): static { $this->searchCount = $searchCount; return $this; } public function isOnlyFuture(): bool { return $this->onlyFuture; } public function getLastSearch(): ?\DateTimeInterface { return Carbon::parse($this->lastSearch); } public function setLastSearch(?\DateTimeInterface $lastSearch): static { $this->lastSearch = $lastSearch; return $this; } public function getCreatedAt(): ?\DateTimeImmutable { return $this->createdAt; } public function setCreatedAt(\DateTimeImmutable $createdAt): static { $this->createdAt = $createdAt; return $this; } public function getDownloadedAt(): ?\DateTimeImmutable { return $this->downloadedAt; } public function setDownloadedAt(?\DateTimeImmutable $downloadedAt): static { $this->downloadedAt = $downloadedAt; return $this; } public function getMonitorType(): ?string { return $this->monitorType; } public function setMonitorType(string $monitorType): static { $this->monitorType = $monitorType; return $this; } public function getSeason(): ?int { return $this->season; } public function setSeason(?int $season): static { $this->season = $season; return $this; } public function getEpisode(): ?int { return $this->episode; } public function setEpisode(?int $episode): static { $this->episode = $episode; return $this; } public function getParent(): ?self { return $this->parent; } public function setParent(?self $parent): static { $this->parent = $parent; return $this; } /** * @return Collection */ public function getChildren(): Collection { return $this->children; } public function addChild(self $child): static { if (!$this->children->contains($child)) { $this->children->add($child); $child->setParent($this); } return $this; } public function removeChild(self $child): static { if ($this->children->removeElement($child)) { // set the owning side to null (unless already changed) if ($child->getParent() === $this) { $child->setParent(null); } } return $this; } public function isActive(): bool { return in_array($this->status, ['New', 'Active', 'In Progress']); } }