40 lines
1,007 B
PHP
Executable file
40 lines
1,007 B
PHP
Executable file
#!/usr/bin/env php
|
|
<?php
|
|
|
|
use App\Auth\PasswordHasher;
|
|
use App\Shared\ValueObject\EmailAddress;
|
|
use App\User\CreateUserDto;
|
|
use App\User\UserRepository;
|
|
|
|
(static function (): void {
|
|
$root = dirname(__DIR__);
|
|
|
|
require $root . '/vendor/autoload.php';
|
|
|
|
$dotenv = Dotenv\Dotenv::createImmutable($root);
|
|
$dotenv->safeLoad();
|
|
|
|
require $root . '/config/database.php';
|
|
|
|
$container = require $root . '/config/container.php';
|
|
|
|
$userRepo = $container->get(UserRepository::class);
|
|
$hasher = $container->get(PasswordHasher::class);
|
|
|
|
$seedEmail = 'admin@rabbigerzi.test';
|
|
$seedPassword = 'password';
|
|
|
|
$email = new EmailAddress($seedEmail);
|
|
|
|
if ($userRepo->findByEmail($email) !== null) {
|
|
echo "Seed user {$seedEmail} already exists, skipping.\n";
|
|
exit(0);
|
|
}
|
|
|
|
$userRepo->create(new CreateUserDto(
|
|
email: $email,
|
|
passwordHash: $hasher->hash($seedPassword),
|
|
));
|
|
|
|
echo "Created seed user {$seedEmail} / {$seedPassword}\n";
|
|
})();
|