add User entity, dto, repository interface

User holds email (EmailAddress vo), passwordHash, isAdmin - tide
keeps password and admin flag on the user row directly (no
separate profile entity like youngstartup). UserRepository
exposes find, findByEmail, create. CreateUserDto is readonly with
explicit isAdmin (per shared.md no-default-args rule).
This commit is contained in:
yisroel 2026-05-06 15:00:49 +03:00
parent f47ea1c73d
commit 533320fcac
Signed by: yisroelbaum
GPG key ID: 0FA60884F75520A9
3 changed files with 63 additions and 0 deletions

View file

@ -0,0 +1,14 @@
<?php
namespace App\User;
use App\Shared\ValueObject\EmailAddress;
readonly class CreateUserDto
{
public function __construct(
public EmailAddress $email,
public string $passwordHash,
public bool $isAdmin,
) {}
}