30 lines
737 B
PHP
30 lines
737 B
PHP
<?php
|
|
|
|
namespace Database\Seeders;
|
|
|
|
use App\Auth\PasswordHasher;
|
|
use App\Shared\ValueObject\EmailAddress;
|
|
use App\User\CreateUserDto;
|
|
use App\User\UserRepository;
|
|
use Illuminate\Database\Seeder;
|
|
|
|
class UserSeeder extends Seeder
|
|
{
|
|
public const string EMAIL = 'user@example.com';
|
|
|
|
public const string PASSWORD = 'password';
|
|
|
|
public function run(): void
|
|
{
|
|
$userRepository = app(UserRepository::class);
|
|
$email = new EmailAddress(self::EMAIL);
|
|
if ($userRepository->findByEmail($email) !== null) {
|
|
return;
|
|
}
|
|
|
|
$userRepository->create(new CreateUserDto(
|
|
email: $email,
|
|
passwordHash: app(PasswordHasher::class)->hash(self::PASSWORD),
|
|
));
|
|
}
|
|
}
|