initial commit

This commit is contained in:
greggy
2025-10-06 23:52:38 +02:00
parent ad46abd2ba
commit ba8483bec2
17 changed files with 505 additions and 92 deletions

View File

@@ -22,6 +22,13 @@ class User
#[ORM\Column(type: 'string', length: 255)]
private string $password;
#[ORM\Column(type: 'string', columnDefinition: "ENUM('user', 'admin', 'werbenetzwerk')")]
private string $rolle = 'user';
#[ORM\ManyToOne(targetEntity: Werbenetzwerk::class)]
#[ORM\JoinColumn(name: 'werbenetzwerk_id', referencedColumnName: 'id', nullable: true, onDelete: 'SET NULL')]
private ?Werbenetzwerk $werbenetzwerk = null;
#[ORM\Column(type: 'datetime')]
private \DateTime $createdAt;
@@ -79,4 +86,39 @@ class User
$this->createdAt = $createdAt;
return $this;
}
public function getRolle(): string
{
return $this->rolle;
}
public function setRolle(string $rolle): self
{
if (!in_array($rolle, ['user', 'admin', 'werbenetzwerk'])) {
throw new \InvalidArgumentException('Rolle muss "user", "admin" oder "werbenetzwerk" sein');
}
$this->rolle = $rolle;
return $this;
}
public function isAdmin(): bool
{
return $this->rolle === 'admin';
}
public function isWerbenetzwerk(): bool
{
return $this->rolle === 'werbenetzwerk';
}
public function getWerbenetzwerk(): ?Werbenetzwerk
{
return $this->werbenetzwerk;
}
public function setWerbenetzwerk(?Werbenetzwerk $werbenetzwerk): self
{
$this->werbenetzwerk = $werbenetzwerk;
return $this;
}
}