addArgument('email', InputArgument::OPTIONAL, 'User email'); } protected function execute(InputInterface $input, OutputInterface $output): int { $helper = $this->getHelper('question'); // Email $email = $input->getArgument('email'); if (!$email) { $question = new Question('Email do usuário: '); $email = $helper->ask($input, $output, $question); } if (User::where('users_email', $email)->exists()) { $output->writeln("Já existe um usuário com o email {$email}"); return Command::FAILURE; } // Name $question = new Question('Nome do usuário: '); $name = $helper->ask($input, $output, $question); // Password $question = new Question('Senha: '); $question->setHidden(true); $question->setHiddenFallback(false); $password = $helper->ask($input, $output, $question); // Role $question = new Question('Role (padrão: user): ', 'user'); $role = $helper->ask($input, $output, $question); // Bus ID $question = new Question('ID Bus (opcional): '); $busId = $helper->ask($input, $output, $question); try { $user = new User(); $user->users_name = $name; $user->users_email = $email; $user->users_password = password_hash($password, PASSWORD_DEFAULT); $user->users_role = $role; $user->users_bus_id = $busId; $user->users_status = 'active'; $user->save(); $output->writeln('Usuário criado com sucesso!'); $output->writeln("ID: {$user->users_id}"); $output->writeln("Nome: {$user->users_name}"); $output->writeln("Email: {$user->users_email}"); $output->writeln("Role: {$user->users_role}"); $output->writeln("ID Bus: " . ($user->users_bus_id ?? '-')); return Command::SUCCESS; } catch (\Exception $e) { $output->writeln("Erro ao criar usuário: " . $e->getMessage() . ""); return Command::FAILURE; } } }