116 lines
2.3 KiB
PHP
116 lines
2.3 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace App\Entity;
|
|
|
|
use App\Repository\MailFolderRepository;
|
|
use DateTimeImmutable;
|
|
use Doctrine\ORM\Mapping as ORM;
|
|
|
|
#[ORM\Entity(repositoryClass: MailFolderRepository::class)]
|
|
#[ORM\Table(name: 'mail_folder')]
|
|
#[ORM\Index(columns: ['parent_path'], name: 'idx_mail_folder_parent_path')]
|
|
class MailFolder
|
|
{
|
|
#[ORM\Id]
|
|
#[ORM\GeneratedValue]
|
|
#[ORM\Column]
|
|
private ?int $id = null;
|
|
|
|
#[ORM\Column(length: 500, unique: true)]
|
|
private string $path;
|
|
|
|
#[ORM\Column(length: 255)]
|
|
private string $displayName;
|
|
|
|
#[ORM\Column(length: 500, nullable: true)]
|
|
private ?string $parentPath = null;
|
|
|
|
#[ORM\Column]
|
|
private int $unreadCount = 0;
|
|
|
|
#[ORM\Column]
|
|
private int $totalCount = 0;
|
|
|
|
#[ORM\Column(type: 'datetimetz_immutable', nullable: true)]
|
|
private ?DateTimeImmutable $lastSyncedAt = null;
|
|
|
|
public function getId(): ?int
|
|
{
|
|
return $this->id;
|
|
}
|
|
|
|
public function getPath(): string
|
|
{
|
|
return $this->path;
|
|
}
|
|
|
|
public function setPath(string $path): static
|
|
{
|
|
$this->path = $path;
|
|
|
|
return $this;
|
|
}
|
|
|
|
public function getDisplayName(): string
|
|
{
|
|
return $this->displayName;
|
|
}
|
|
|
|
public function setDisplayName(string $displayName): static
|
|
{
|
|
$this->displayName = $displayName;
|
|
|
|
return $this;
|
|
}
|
|
|
|
public function getParentPath(): ?string
|
|
{
|
|
return $this->parentPath;
|
|
}
|
|
|
|
public function setParentPath(?string $parentPath): static
|
|
{
|
|
$this->parentPath = $parentPath;
|
|
|
|
return $this;
|
|
}
|
|
|
|
public function getUnreadCount(): int
|
|
{
|
|
return $this->unreadCount;
|
|
}
|
|
|
|
public function setUnreadCount(int $unreadCount): static
|
|
{
|
|
$this->unreadCount = $unreadCount;
|
|
|
|
return $this;
|
|
}
|
|
|
|
public function getTotalCount(): int
|
|
{
|
|
return $this->totalCount;
|
|
}
|
|
|
|
public function setTotalCount(int $totalCount): static
|
|
{
|
|
$this->totalCount = $totalCount;
|
|
|
|
return $this;
|
|
}
|
|
|
|
public function getLastSyncedAt(): ?DateTimeImmutable
|
|
{
|
|
return $this->lastSyncedAt;
|
|
}
|
|
|
|
public function setLastSyncedAt(?DateTimeImmutable $lastSyncedAt): static
|
|
{
|
|
$this->lastSyncedAt = $lastSyncedAt;
|
|
|
|
return $this;
|
|
}
|
|
}
|