40 lines
1.0 KiB
PHP
40 lines
1.0 KiB
PHP
|
<?php
|
||
|
|
||
|
declare(strict_types=1);
|
||
|
|
||
|
namespace App\User\Console;
|
||
|
|
||
|
use App\Access\Models\Role;
|
||
|
use App\User\Models\User;
|
||
|
use App\User\Models\UserNotFound;
|
||
|
use App\User\Models\UserRepository;
|
||
|
use Ramsey\Uuid\Uuid;
|
||
|
|
||
|
final class CreateFirstAdminTask extends \Phalcon\Cli\Task
|
||
|
{
|
||
|
public function mainAction(): void
|
||
|
{
|
||
|
try {
|
||
|
$this->getUserRepository()->getByName($this->config['user']['admin_name']);
|
||
|
|
||
|
echo 'Default admin user already exists' . PHP_EOL;
|
||
|
} catch (UserNotFound $exception) {
|
||
|
User::add(
|
||
|
Uuid::uuid4(),
|
||
|
$this->config['user']['admin_name'],
|
||
|
$this->config['user']['admin_password'],
|
||
|
Role::admin()
|
||
|
);
|
||
|
|
||
|
echo 'Admin user created' . PHP_EOL;
|
||
|
echo 'Name: ' . $this->config['user']['admin_name'] . PHP_EOL;
|
||
|
echo 'Password: ' . $this->config['user']['admin_password'] . PHP_EOL;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
private function getUserRepository(): UserRepository
|
||
|
{
|
||
|
return new UserRepository();
|
||
|
}
|
||
|
}
|