Attainly/backend/database/seeders/UserSeeder.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),
));
}
}