Rabbi_Gerzi/backend/bin/seed

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";
})();