<?php declare(strict_types=1); namespace openvk\Web\Models\Entities; use openvk\Web\Models\RowModel; use openvk\Web\Util\DateTime; use openvk\Web\Models\Repositories\{Users}; use Nette\Database\Table\ActiveRow; class Ban extends RowModel { protected $tableName = "bans"; public function getId(): int { return $this->getRecord()->id; } public function getReason(): ?string { return $this->getRecord()->reason; } public function getUser(): ?User { return (new Users())->get($this->getRecord()->user); } public function getInitiator(): ?User { return (new Users())->get($this->getRecord()->initiator); } public function getStartTime(): int { return $this->getRecord()->iat; } public function getEndTime(): int { return $this->getRecord()->exp; } public function getTime(): int { return $this->getRecord()->time; } public function isPermanent(): bool { return $this->getEndTime() === 0; } public function isRemovedManually(): bool { return (bool) $this->getRecord()->removed_manually; } public function isOver(): bool { return $this->isRemovedManually(); } public function whoRemoved(): ?User { return (new Users())->get($this->getRecord()->removed_by); } }