feat: logs monitor events

This commit is contained in:
Brock H Caldwell
2025-11-02 00:07:31 -05:00
parent d28b743684
commit 5d414590cb
5 changed files with 117 additions and 5 deletions

View File

@@ -4,6 +4,7 @@ namespace App\User\Framework\Entity;
use Aimeos\Map;
use App\Download\Framework\Entity\Download;
use App\EventLog\Framework\Entity\EventLog;
use App\Monitor\Framework\Entity\Monitor;
use App\User\Framework\Repository\UserRepository;
use Doctrine\Common\Collections\ArrayCollection;
@@ -56,11 +57,18 @@ class User implements UserInterface, PasswordAuthenticatedUserInterface
#[ORM\OneToMany(targetEntity: Download::class, mappedBy: 'user')]
private Collection $downloads;
/**
* @var Collection<int, EventLog>
*/
#[ORM\OneToMany(targetEntity: EventLog::class, mappedBy: 'user')]
private Collection $eventLogs;
public function __construct()
{
$this->userPreferences = new ArrayCollection();
$this->monitors = new ArrayCollection();
$this->downloads = new ArrayCollection();
$this->eventLogs = new ArrayCollection();
}
public function getId(): ?int
@@ -342,4 +350,34 @@ class User implements UserInterface, PasswordAuthenticatedUserInterface
return $this->hasUserPreference('enable_ical_up_ep') &&
(bool) $this->getUserPreference('enable_ical_up_ep')->getPreferenceValue() === true;
}
/**
* @return Collection<int, EventLog>
*/
public function getEventLogs(): Collection
{
return $this->eventLogs;
}
public function addEventLog(EventLog $eventLog): static
{
if (!$this->eventLogs->contains($eventLog)) {
$this->eventLogs->add($eventLog);
$eventLog->setUser($this);
}
return $this;
}
public function removeEventLog(EventLog $eventLog): static
{
if ($this->eventLogs->removeElement($eventLog)) {
// set the owning side to null (unless already changed)
if ($eventLog->getUser() === $this) {
$eventLog->setUser(null);
}
}
return $this;
}
}