2018-05-04 22:04:30 +00:00
|
|
|
<?php
|
2020-10-14 22:19:31 +00:00
|
|
|
|
2021-07-19 05:53:45 +00:00
|
|
|
declare(strict_types=1);
|
|
|
|
|
2018-08-04 22:05:14 +00:00
|
|
|
namespace App\Entity\Fixture;
|
2018-05-04 22:04:30 +00:00
|
|
|
|
2019-08-07 04:33:55 +00:00
|
|
|
use App\Entity;
|
2018-05-04 22:04:30 +00:00
|
|
|
use Doctrine\Common\DataFixtures\AbstractFixture;
|
|
|
|
use Doctrine\Common\DataFixtures\DependentFixtureInterface;
|
2020-01-18 02:35:09 +00:00
|
|
|
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
|
|
|
{
|
2019-09-24 22:47:50 +00:00
|
|
|
$admin_email = getenv('INIT_ADMIN_EMAIL');
|
2018-05-04 22:04:30 +00:00
|
|
|
$admin_password = getenv('INIT_ADMIN_PASSWORD');
|
|
|
|
|
2019-09-24 22:47:50 +00:00
|
|
|
if (!empty($admin_email) && !empty($admin_password)) {
|
2021-07-06 10:29:17 +00:00
|
|
|
$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);
|
|
|
|
|
2021-07-06 10:29:17 +00:00
|
|
|
$manager->persist($demo_user);
|
|
|
|
|
|
|
|
$this->addReference('demo_user', $demo_user);
|
|
|
|
|
2020-10-14 22:19:31 +00:00
|
|
|
$admin_user = new Entity\User();
|
2019-09-24 22:47:50 +00:00
|
|
|
$admin_user->setEmail($admin_email);
|
2018-05-04 22:04:30 +00:00
|
|
|
$admin_user->setName('System Administrator');
|
2019-10-26 23:35:24 +00:00
|
|
|
$admin_user->setNewPassword($admin_password);
|
2019-04-30 01:58:47 +00:00
|
|
|
$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
|
|
|
|
2019-03-14 08:40:02 +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);
|
2019-07-10 19:55:17 +00:00
|
|
|
|
|
|
|
$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
|
|
|
}
|
|
|
|
|
2020-01-18 02:35:09 +00:00
|
|
|
/**
|
|
|
|
* @return string[]
|
|
|
|
*/
|
2020-10-14 22:19:31 +00:00
|
|
|
public function getDependencies(): array
|
2018-05-04 22:04:30 +00:00
|
|
|
{
|
|
|
|
return [
|
|
|
|
Role::class,
|
|
|
|
];
|
|
|
|
}
|
2018-08-04 22:05:14 +00:00
|
|
|
}
|