Basic user management

This commit is contained in:
2026-02-05 00:46:22 +01:00
parent e280fcfba8
commit 11108bdfcc
55 changed files with 1524 additions and 54 deletions

View File

@@ -0,0 +1,26 @@
<?php
namespace App\ValueObjects;
class EmailAddress {
private string $value;
public static function fromString(string $value) : EmailAddress {
if (!filter_var($value, FILTER_VALIDATE_EMAIL)) {
throw new \InvalidArgumentException("Invalid email address: $value");
}
$emailAddress = new EmailAddress();
$emailAddress->setValue($value);
return $emailAddress;
}
public function getValue(): string
{
return $this->value;
}
public function setValue(string $value): void
{
$this->value = $value;
}
}

View File

@@ -0,0 +1,50 @@
<?php
namespace App\ValueObjects;
use App\Models\User;
class MessageRecipient {
private ?User $user;
/** @var EmailAddress[] */
private array $emailAddresses;
private string $name;
public function __construct() {
$this->user = null;
$this->emailAddresses = [];
$this->name = "";
}
public function getUser(): ?User
{
return $this->user;
}
public function setUser(?User $user): void
{
$this->user = $user;
}
public function getEmailAddresses(): array
{
return $this->emailAddresses;
}
public function addEmailAddress(EmailAddress $emailAddresses): void
{
$this->emailAddresses[] = $emailAddresses;
}
public function getName(): string
{
return $this->name;
}
public function setName(string $name): void
{
$this->name = $name;
}
}