Rabbi_Gerzi/backend/app/Console/Commands/EnsureInitialAdminCommand.php
2026-07-02 01:21:04 +03:00

36 lines
1 KiB
PHP

<?php
namespace App\Console\Commands;
use App\User\InitialAdminCredentialsProvider;
use App\User\UseCases\EnsureInitialAdmin\EnsureInitialAdmin;
use App\User\UseCases\EnsureInitialAdmin\EnsureInitialAdminRequest;
use Illuminate\Console\Command;
class EnsureInitialAdminCommand extends Command
{
protected $signature = 'rabbi-gerzi:ensure-initial-admin';
protected $description = 'Create the configured initial admin if missing';
public function __construct(
private EnsureInitialAdmin $ensureInitialAdmin,
private InitialAdminCredentialsProvider $credentialsProvider,
) {
parent::__construct();
}
public function handle(): int
{
$credentials = $this->credentialsProvider->getCredentials();
$this->ensureInitialAdmin->execute(new EnsureInitialAdminRequest(
email: $credentials->getEmail(),
password: $credentials->getPassword(),
));
$this->info('initial admin is ready');
return self::SUCCESS;
}
}