add user entity

This commit is contained in:
Yisroel Baum 2026-07-31 09:49:18 +03:00
parent b5697e1e1f
commit 0777f0da2f
Signed by: yisroelbaum
GPG key ID: 0FA60884F75520A9
10 changed files with 172 additions and 158 deletions

View file

@ -0,0 +1,35 @@
<?php
namespace App\User;
use App\Shared\ValueObject\EmailAddress;
class EloquentUserRepository implements UserRepository
{
public function create(CreateUserDto $dto): User
{
$model = UserModel::create([
'email' => $dto->email->value(),
]);
return $this->toDomain($model);
}
public function find(int $id): ?User
{
$model = UserModel::find($id);
if ($model === null) {
return null;
}
return $this->toDomain($model);
}
private function toDomain(UserModel $model): User
{
return new User(
id: $model->id,
email: new EmailAddress($model->email),
);
}
}