remove default values from user constructors

Forcing every call site to be explicit about admin status and
password eliminates a class of bugs where an unintended
isAdmin=false or empty passwordHash could silently slip through.
The CreateUserTest case that asserted the isAdmin default is
dropped since the default no longer exists.
This commit is contained in:
Yisroel Baum 2026-04-26 10:46:07 +03:00
parent f95adddaaf
commit cd40483cd4
Signed by: yisroelbaum
GPG key ID: 0FA60884F75520A9
7 changed files with 21 additions and 14 deletions

View file

@ -6,7 +6,7 @@ class CreateUserRequest
{
public function __construct(
public ?string $email,
public ?string $password = null,
public bool $isAdmin = false,
public ?string $password,
public bool $isAdmin,
) {}
}

View file

@ -9,8 +9,8 @@ class User
public function __construct(
private int $id,
private EmailAddress $email,
private string $passwordHash = '',
private bool $isAdmin = false,
private string $passwordHash,
private bool $isAdmin,
) {}
public function getId(): int