get(LoggerInterface::class); $userRepository = $diContainer->get(IUserRepository::class); $logger->info('Starting default users initialization...'); $requiredUsernames = ['admin', 'user']; $missingUsers = []; foreach ($requiredUsernames as $username) { $user = $userRepository->findByUsername($username); if ($user === null) { $missingUsers[] = $username; } } if (empty($missingUsers)) { $logger->info('Default users already exist. Skipping initialization.'); exit(0); } $defaultUsers = [ ['username' => 'admin', 'password' => 'admin'], ['username' => 'user', 'password' => 'user'] ]; foreach ($defaultUsers as $userData) { if (in_array($userData['username'], $missingUsers)) { $user = new \AutoStore\Domain\Entities\User( uniqid('user_', true), $userData['username'], password_hash($userData['password'], PASSWORD_DEFAULT) ); $userRepository->save($user); $logger->info("Created default user: {$userData['username']}"); } } $logger->info('Default users initialization completed successfully'); exit(0); } catch (\Exception $e) { $logger = $logger ?? new \Monolog\Logger('user-init'); $logger->error('Default users initialization failed: ' . $e->getMessage()); exit(1); }