AzuraCast/src/Entity/Fixture/User.php

66 lines
1.9 KiB
PHP
Raw Normal View History

2018-05-04 22:04:30 +00:00
<?php
2021-07-19 05:53:45 +00:00
declare(strict_types=1);
namespace App\Entity\Fixture;
2018-05-04 22:04:30 +00:00
use App\Entity;
2018-05-04 22:04:30 +00:00
use Doctrine\Common\DataFixtures\AbstractFixture;
use Doctrine\Common\DataFixtures\DependentFixtureInterface;
use Doctrine\Persistence\ObjectManager;
2018-05-04 22:04:30 +00:00
class User extends AbstractFixture implements DependentFixtureInterface
{
2021-06-10 03:22:13 +00:00
public function load(ObjectManager $manager): void
2018-05-04 22:04:30 +00:00
{
$admin_email = getenv('INIT_ADMIN_EMAIL');
2018-05-04 22:04:30 +00:00
$admin_password = getenv('INIT_ADMIN_PASSWORD');
if (!empty($admin_email) && !empty($admin_password)) {
$demo_user = new Entity\User();
$demo_user->setEmail('demo@azuracast.com');
$demo_user->setNewPassword('demo');
$demo_user->setName('AzuraCast Demo User');
2022-05-31 11:41:35 +00:00
/** @var Entity\Role $demoRole */
$demoRole = $this->getReference('demo_role');
$demo_user->getRoles()->add($demoRole);
$manager->persist($demo_user);
$this->addReference('demo_user', $demo_user);
$admin_user = new Entity\User();
$admin_user->setEmail($admin_email);
2018-05-04 22:04:30 +00:00
$admin_user->setName('System Administrator');
$admin_user->setNewPassword($admin_password);
$admin_user->setTheme('dark');
2022-05-31 11:41:35 +00:00
/** @var Entity\Role $adminRole */
$adminRole = $this->getReference('admin_role');
$admin_user->getRoles()->add($adminRole);
2018-05-04 22:04:30 +00:00
$admin_2fa_secret = getenv('INIT_ADMIN_2FA_SECRET');
if (!empty($admin_2fa_secret)) {
$admin_user->setTwoFactorSecret($admin_2fa_secret);
}
2021-06-10 03:22:13 +00:00
$manager->persist($admin_user);
$this->addReference('admin_user', $admin_user);
2018-05-04 22:04:30 +00:00
}
2021-06-10 03:22:13 +00:00
$manager->flush();
2018-05-04 22:04:30 +00:00
}
/**
* @return string[]
*/
public function getDependencies(): array
2018-05-04 22:04:30 +00:00
{
return [
Role::class,
];
}
}